【发布时间】:2021-02-18 03:14:30
【问题描述】:
如何将double 转换为最大6 位数的string 并删除尾随零?
我想要:
2.123456123 -> "2.123456"
0.0000012 -> "0.000001" (and not "1.2e-6")
12.45 -> "12.45" (and not "12.450000")
36 -> "36" (and not "36.000000")
使用string.Format("{0:F6"}, value) 输出尾随零和string.Format("{0:G6"}, value) 不适合第二个示例。
使用value.ToString("0.######)可以吗?
string.Format() 有没有等效的方法?
【问题讨论】:
-
是的,可以使用
value.ToString("0.######")。它将使用当前线程的当前区域性,例如在决定使用什么字符串(如.)作为小数点时。string.Format的等价物很简单:string.Format("My number {0:0.######} looks good.", value)如果你想要文化独立,请分别尝试value.ToString("0.######", CultureInfo.InvariantCulture)string.Format(CultureInfo.InvariantCulture, "My number {0:0.######} looks good.", value)。 -
#就是为此专门制作的。 -
感谢您的快速解答!