我已经双重转换为10位数字+ 4(十进制)。

所以让说: 我有一个双999,56。我已经得到00000009995600! - >没有逗号

我有是:

的String.Format( “{0:0000000000.0000}”,值),但我所得到的是: 0000000999,5600

所以我现在所能做的就是搜索逗号和删除它,但我想知道是否有在这个特定的格式?

格式的另一种“干净”的方式

谢谢!

有帮助吗?

解决方案

既然你说你想避免String.Replace

// avoid whacked out cultures
double value = 999.56m;
CultureInfo info = CultureInfo.GetCultureInfo("en-US");
string s = (10000 * value).ToString("00000000000000", info));
Console.WriteLine(s); // displays "00000009995600"

不过说真的,有什么不对的吧:

double value = 999.56m;
CultureInfo info = CultureInfo.GetCultureInfo("en-US");
string s = value.ToString("0000000000.0000", info).Replace(
    info.NumberFormat.NumberDecimalSeparator,
    String.Empty)
Console.WriteLine(s); // displays "00000009995600"

其他提示

string.Format("{0:00000000000000}", value * 10000)

好,我将使用替换()方法,因为我想没有其他“简单”的方式:

下面是我的解决方案,它是几乎相同的贾森的回答是:

string sep = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
Console.WriteLine(String.Format(fromt, testvalue).Replace(sep, ""));

谢谢!

double val = 12345.6789;
return val.ToString().Split('.')[0];

如果您不想(或不能)相乘,那么这可能工作:

string newValue = value.Replace(",", "");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top