题
我已经双重转换为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(",", "");
不隶属于 StackOverflow