如何将带小数点的字符串转换为带小数逗号的double?

Use*_*018 0 c#

我正在为德国客户开发一个网站.在德国,他们使用逗号作为小数分隔符.

我使用WebMethod从SQL获取值,然后构建一个JSON对象以显示网站上的数据.使用C#SqlCommand,我将SQL中的值作为字符串获取.我想将此值保存为double变量.

这是代码示例,显示了我想要做的事情:

    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
Run Code Online (Sandbox Code Playgroud)

我需要将数据保存为double.我该如何解决这个问题?

Adr*_*ian 5

double不包含有关如何(在视觉上)将小数与整数部分分开的任何信息.如果您打印没有任何特定文化格式信息的双精度数,您将获得标准.作为分隔符.