我正在为德国客户开发一个网站。在德国,他们使用逗号作为小数点分隔符。
我使用WebMethod从SQL中获取值,然后构建一个JSON对象以在网站上显示数据。使用C#SqlCommand,我从SQL获得了字符串形式的值。我想将此值保存到一个双变量中。
这是显示我想做什么的代码示例:
NumberFormatInfo nfi = new CultureInfo( "de-DE", false ).NumberFormat;
nfi.NumberDecimalSeparator = ","; // Displays the value with a comma as the separator.
string value ="15.95"; //value from SQL
string valueInString = "";
double valueInDouble = 0;
valueInString = Convert.ToDouble(value.ToString()).ToString( "N", nfi );
valueInDouble = Convert.ToDouble(value.ToString()).ToString( "N", nfi ); //Error
valueInDouble = Convert.ToDouble(valueInString,nfi);
Console.WriteLine( valueInString ); // returns 15,95. But it is a string
Console.WriteLine( valueInDouble ); // returns 15.95. the comma is reverted back to dot
我需要将数据保存为两倍。我该如何解决?
答案 0 :(得分:5)
double
不包含有关如何(直观地)将小数部分与整数部分分开的任何信息。如果您打印的双精度字体没有任何特定的区域性格式信息,那么您将获得标准的.
作为分隔符。