没有小数点和 2 位的 C# 双类型格式

C# double type formatting without decimal point and 2 digits

我需要将双精度格式化为包含 15 个字符的字符串,并用零 (0) 向左填充。 该字符串必须包含 2 位数字,但不能包含小数点甚至千位分隔符。

我用下面的代码做到了,但我想知道是否有更好的方法来只使用格式字符串。

double value = 15.85;
CultureInfo info = CultureInfo.GetCultureInfo("en-US");
string s = (value).ToString("F2", info).Replace(".", string.Empty).PadLeft(15, "0"[0]);
//will output 000000000001585

没有办法用格式字符串 纯粹 显示没有小数点的小数位,但是有一种比字符串 replacement/padding 更简单的方法来删除小数点- 只需将值乘以 100:

(value*100).ToString("000000000000000");
double value = 15.85;

string s1 = String.Format("{0:000000000000000}", value); // 000000000000015
string s2 = String.Format("{0:0000.00}", value);         // 0015.85