嘿伙计们我有一个数字可以说1.5我希望它是1.50
private double FixDecimals(double data)
{
double tmpDouble = Convert.ToDouble(String.Format("{0:0.00}", data));
return tmpDouble;
}
这是真正的功能,它似乎并没有起作用。请通过1.5并告诉我你得到了什么。
答案 0 :(得分:1)
您无需在ToString
上致电variable
:
String.Format("{0:0.00}", variable)
假设variable
的类型为double
,variable.ToString()
正在使用" G"格式化双倍。格式说明符,为您提供1.5
。然后将值传递给string.Format
。
问题编辑后更新:
double
类型的变量除了转换为string
之外没有实际格式。因此,FixDecimals
功能确实没有意义。
就类型double
的变量而言,1.5等于1.5000。如果要控制该值的显示方式,请先将其转换为string
。
答案 1 :(得分:1)
查看使用string.Format
时不需要.ToString()的示例var variable = 1.5;
var frmtString = String.Format("{0:0.00}", variable);
frmtString = 1.50
这也会产生相同的结果
var mydouble = 1.5;
var frmtString = String.Format("{0:N}", mydouble);
答案 2 :(得分:0)
double
是一个双精度型,如果你的双精度是1.5,那么它的计算结果相当于1.50(无论多少额外的零都要加上)。因此,当您在调试器中查看它时,它将使用默认的ToString格式化程序将其转换为可读字符串。
正如其他答案所说,如果你想打印出来那么你可以添加小数位,但是没有必要(也没有用)将它们添加到代码中,就像你正在尝试一样通过使用"额外的小数位"将double转换为字符串并再次返回到double。