gpt4 book ai didi

c# - 解析字符串以使用逗号和点加倍

转载 作者:IT王子 更新时间:2023-10-29 03:49:35 24 4
gpt4 key购买 nike

我正在尝试编写一个函数,该函数基本上将字符串数组转换为字符串数组,其中数组中的所有 double 都四舍五入为我设置的小数位数。数组中也可以有根本不是 double 值的字符串。

string[,] values = new string[1, 3];

values[0, 0] = "hello";
values[0, 1] = "0.123";
values[0, 2] = "0,123";

int decimalPlaces = 2;

double tmp;
string format = "F" + decimalPlaces.ToString();
IFormatProvider provider = CultureInfo.InvariantCulture;
for (int i = 0; i < values.GetLength(0); i++)
{
for (int j = 0; j < values.GetLength(1); j++)
{
if (double.TryParse(values[i, j], out tmp))
{
values[i, j] = tmp.ToString(format, provider);
}
}
}

Console.ReadLine();

结果必须是: "hello", "0.12", "0.12"但它是 "hello", "123.00", "0.12"会以错误的方式处理逗号。有人对此有简单有效的解决方案吗?

最佳答案

同时对待 , 和 .作为小数点,您不仅必须将一个替换为另一个,而且还要确保所使用的 Culture 解析将其解释为小数点。

text = text.Replace(',', '.');
return double.TryParse(text, NumberStyles.Any, CultureInfo.InvariantCulture, out value);

关于c# - 解析字符串以使用逗号和点加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11560465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com