将双精度从转换12.45
为字符串,例如00001245
(字符串的长度 = 8)。
我怎么能那样做?
String.Format("{0:D8}", (int)(12.45 * 100));
您可以执行以下操作:
将其乘以 100,以消除.
将其转换为int
, 以消除剩余的小数。
将其转换为string
withToString()
并在左侧填充总大小为 8 的'0'
double d = 12.45;
string value = ((int)(d * 100)).ToString().PadLeft(8, '0');
如果你的双精度在逗号后总是有 2 位数字,看起来你需要乘以100
并使用String.PadLeft
方法,直到你得到 8 长度的字符串。
double d = 12.45;
Console.WriteLine((d * 100).ToString().PadLeft(8, '0'));
输出将是;
00001245
这里一个DEMO
.
这也可以做到:
String.Format("{0:00000000}", 12.45 * 100)