0

将双精度从转换12.45为字符串,例如00001245(字符串的长度 = 8)。

我怎么能那样做?

4

4 回答 4

2
String.Format("{0:D8}", (int)(12.45 * 100));
于 2013-10-03T10:54:15.347 回答
2

您可以执行以下操作:

  • 将其乘以 100,以消除.

  • 将其转换为int, 以消除剩余的小数。

  • 将其转换为stringwithToString()

  • 并在左侧填充总大小为 8 的'0'


double d = 12.45;
string value = ((int)(d * 100)).ToString().PadLeft(8, '0');
于 2013-10-03T10:54:17.867 回答
1

如果你的双精度在逗号后总是有 2 位数字,看起来你需要乘以100并使用String.PadLeft方法,直到你得到 8 长度的字符串。

double d = 12.45;
Console.WriteLine((d * 100).ToString().PadLeft(8, '0'));

输出将是;

00001245

这里一个DEMO.

于 2013-10-03T10:55:22.147 回答
0

这也可以做到:

String.Format("{0:00000000}", 12.45 * 100)
于 2013-10-03T11:03:04.543 回答