C# 在c中转换双精度#

C# 在c中转换双精度#,c#,C#,我需要将使用“,”分隔符的double转换为使用“.”分隔符的double,即在所有语言环境下,xxx,xx到xxx.xx。是否有人使用c函数来执行此操作?在当前区域性中,小数点可能不由句点字符表示 通常,在执行区域性不变转换时,最好将CultureInfo.InvariantCulture指定为该方法的IFormatProvider参数: Convert.ChangeType(a, typeof(decimal), CultureInfo.InvariantCulture); Convert.

我需要将使用“,”分隔符的double转换为使用“.”分隔符的double,即在所有语言环境下,xxx,xx到xxx.xx。是否有人使用c函数来执行此操作?

在当前区域性中,小数点可能不由句点字符表示

通常,在执行区域性不变转换时,最好将CultureInfo.InvariantCulture指定为该方法的IFormatProvider参数:

Convert.ChangeType(a, typeof(decimal), CultureInfo.InvariantCulture);
Convert.ChangeType(a, typeof(double), CultureInfo.InvariantCulture);

获取所需内容

小数点可能不由当前区域性中的句点字符表示

通常,在执行区域性不变转换时,最好将CultureInfo.InvariantCulture指定为该方法的IFormatProvider参数:

Convert.ChangeType(a, typeof(decimal), CultureInfo.InvariantCulture);
Convert.ChangeType(a, typeof(double), CultureInfo.InvariantCulture);

接受你想要的

强制性回答:是的,我需要。你的意思是要将一个用十进制分隔符表示数字的字符串转换为一个用“.”表示相同数字的字符串吗?您是否考虑了替换方法?这可能与您有关:OK,我需要更具体:我将字符串日期转换为整数朱利安日期,然后将它们写入SQLite数据库。数据库使用Reals作为日期字段。此外,朱利安日期需要采用xxxxxxx.5格式。将0.5添加到整数将生成所需的双精度值。但是,如果用户的区域设置使用“,”十进制分隔符,则在写入日期字段时SQLite会崩溃;SQLite不接受由“,”十进制分隔符区域设置创建的双值。希望这更清楚。不知道该怎么处理!更清楚地考虑这一点,真正的问题是我的SQLite DB没有正确地处理区域设置wrt到real/double值。将进一步调查。强制性回答:是的,我知道。您的意思是要将一个用十进制分隔符表示数字的字符串转换为一个用“.”表示相同数字的字符串吗?您是否考虑了替换方法?这可能与您有关:OK,我需要更具体:我将字符串日期转换为整数朱利安日期,然后将它们写入SQLite数据库。数据库使用Reals作为日期字段。此外,朱利安日期需要采用xxxxxxx.5格式。将0.5添加到整数将生成所需的双精度值。但是,如果用户的区域设置使用“,”十进制分隔符,则在写入日期字段时SQLite会崩溃;SQLite不接受由“,”十进制分隔符区域设置创建的双值。希望这更清楚。不知道该怎么处理!更清楚地考虑这一点,真正的问题是我的SQLite DB没有正确地处理区域设置wrt到real/double值。我喜欢这个,因为它使用十进制而不是双精度。我知道,很少有情况下double是实际需要的数据类型。我喜欢这个,因为它使用decimal而不是double。实际上,很少有情况下double是实际需要的数据类型。