我有这样的代码:
lblFranshizShowInvwNoskhehEdit.Text = string.Format("{0:n}",
(double)(int.Parse(drDarman["FranshizDarsad"].ToString()) *
Convert.ToInt64(RadNumerictxtPayInvwNoskhehEdit.Text)) / 100);
但是
{0:n0}
字符串格式强制标签的文本不包含小数位,而{0:n}
字符串格式强制标签的文本具有2个小数位(默认)。在我的情况下,我只需要在必要时使用小数位/不四舍五入/如何做到这一点?
最佳答案
您可以这样做:
string.Format("{0}", yourDouble);
必要时将仅包含数字。
如果您想要其他格式化 double 型字符串示例,请查看此link。
编辑:根据您的注释,您需要
,
分隔符,以便执行以下操作:string.Format("{0:0,0.########}", yourDouble);
只需为要显示的最大小数位数输入尽可能多的
#
。仅在必要时显示数字,但最多显示最大数字,具体取决于您在格式中包含的#
数量。 #
表示仅在必要时显示一个数字,因此,如果您提供类似123
的数字而没有小数,它将显示为1,234
,但是如果您提供1234.456
,它将显示为1,234.456
。如果超出指定的最大位数,则将四舍五入。编辑:要修复双零情况,只需将其更改为:
string.Format("{0:#,0.########}", yourDouble);
现在应该可以正常工作了:)