C# 双精度类型格式,不带小数点和 2 位数字

本文关键字:小数点 数字 双精度 类型 格式 | 更新日期: 2023-09-27 17:55:57

我需要将双精度格式化为包含 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

C# 双精度类型格式,不带小数点和 2 位数字

没有

办法纯粹使用格式字符串显示没有小数点的小数位数,但是有一种比字符串替换/填充更简单的方法来删除小数点 - 只需将值乘以 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