在方案1中,字符串转换完全转换。即:1.25(双)等于1.25(字符串) 但在方案2中,我的输入double是1.0但转换后的字符串是1。 为什么会这样?以及如何在字符串转换期间保留十进制后的零?
Scenario 1:
double input1 = 1.25;
string output1 = input1.ToString("0.################"); // output1 = "1.25"
Scenario 2:
double input2 = 1.0;
string output2 = input2.ToString("0.################"); // output2 = "1"
我需要做什么才能将输出2作为" 1.0"而不是" 1"。??提前谢谢。
答案 0 :(得分:4)
字符串格式小数点后的哈希标记#
表示该值是可选的。如果您希望获得输出1.0,则需要以下内容:
Scenario 2:
double input2 = 1.0;
string output2 = input2.ToString("0.0###############"); // output2 = "1.0"
答案 1 :(得分:2)
如果您使用0
代替#
,则会保留零,而不是在它们无关紧要时删除。
double input2 = 1.0;
string output2 = input2.ToString("0.0###############"); // output2 = "1.0"
可以在MSDN上找到格式化数字的完整文档:http://msdn.microsoft.com/en-us/library/0c899ak8%28v=vs.110%29.aspx