将十进制字符串转换为列表

本文关键字:列表 转换 字符串 十进制 | 更新日期: 2023-09-27 18:16:48

当尝试转换十进制字符串时"0,0,0,0,0,0,8555,127875,-180000,152000,55000,3.84,648000"当其中一项为负

时,我得到一个错误

输入字符串格式不正确。

System.Globalization.NumberStyles style = System.Globalization.NumberStyles.AllowDecimalPoint | System.Globalization.NumberStyles.AllowThousands | System.Globalization.NumberStyles.AllowExponent ;
String t = "0,0,0,0,0,0,8555,127875,-180000,152000,55000,3.84,648000";
List<decimal> prices = t.Split(',').Select(n => decimal.Parse(n, style)).ToList();

将十进制字符串转换为列表

添加system . globalizzation . numberstyles . allowleadingsign标志。

System.Globalization.NumberStyles style = System.Globalization.NumberStyles.AllowDecimalPoint | System.Globalization.NumberStyles.AllowThousands | System.Globalization.NumberStyles.AllowExponent | System.Globalization.NumberStyles.AllowLeadingSign;
String t = "0,0,0,0,0,0,8555,127875,-180000,152000,55000,3.84,648000";
List<decimal> prices = t.Split(',').Select(n => decimal.Parse(n, style)).ToList();

试试这个

String t = "0,0,0,0,0,0,8555,127875,-180000,152000,55000,3.84,648000";
String[] list = t.Split(',');
List<Decimal> decimals = new List<decimal>();
foreach (string s in list)
{
    decimals.Add(Convert.ToDecimal(s));
}

List<Decimal> decimals = t.Split(',').Select(x => Convert.ToDecimal(x)).ToList();