【问题标题】:System.FormatException: Input string was not in a correct format for decimalSystem.FormatException:输入字符串的十进制格式不正确
【发布时间】:2014-12-03 08:20:19
【问题描述】:

使用 Telerik 将共享点列表项值转换为小数并将其分配给 radrating 值。 radrating 值是小数,在转换列表项时会发生错误。

 RadRating1.Value = Convert.ToDecimal(oList["Average Rating"]);

我也尝试过(十进制),但这给出了另一个错误消息。 关于它为什么不接受该声明的任何想法?

o列表人口:

void loadSuggestions() 
{
        SPList olstSuggestions = oWeb.Lists["Suggestions"];
        SPQuery qSuggestions = new SPQuery();
        qSuggestions.RowLimit.Equals(10);
        qSuggestions.Query = string.Format(@"
        <Where>
                <Eq>
                <FieldRef Name='Archived' />
                <Value Type='Choice'>No</Value>
            </Eq>
        </Where>");

        SPListItemCollection oSuggestionCollection = olstSuggestions.GetItems(qSuggestions);
        int count = 1;
        foreach (SPListItem oList in oSuggestionCollection)
        {<above statement>...}
}

【问题讨论】:

  • 对于示例转换,oList["Average Rating"] 对象的值是多少?
  • 签入调试 oList["Average Rating"] 的确切值是多少?也许它的小数分隔符与您当前的文化不同?
  • 1.5 是平均评分的示例,这会与当前文化冲突吗?
  • @matt 试试这个:decimal.Parse(oList["Average Rating"], new NumberFormatInfo() { NumberDecimalSeparator = "." });
  • 确切的错误在于标题“输入字符串的格式不正确”。无法发布堆栈跟踪,因为它太长了。好的,我马上试试。

标签: c# sharepoint type-conversion decimal


【解决方案1】:

请尝试以下方法:

 Convert.ToDecimal(oList["Average Rating"], new NumberFormatInfo() { NumberDecimalSeparator = "." });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 2011-11-23
    • 2022-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多