在 C# 中将 "float;#22.0000000000000" 转换为 "22.0"
Convert "float;#22.0000000000000" into just "22.0" in C#
我正在对一个对象执行 ToString()
,我得到的输出是 float;#22.0000000000000
。我只需要 22.0
.
如何在 C# 中实现这一点?
附加信息:
该对象是 SharePoint 列表中数字列的值。正在使用 CAML 查询在我的代码中重试该值。我确定是使用 CAML 查询导致了这个问题。如果我只是通过遍历列表中的所有项目来检索项目,我不会遇到这个问题,但这种方法不如 CAML 查询有效。
更新:
似乎不是导致此输出的 ToString()
。我正在调用 ToString()
的对象似乎已经设置为 float;#22.0000000000000
,所以这就是直接从 CAML 查询中得出的结果。
使用给定的代码只得到 22.0
string value = "float;#22.0000000000000";
var number = value.Split('#')[1];
double num = double.Parse(number);
Console.WriteLine(num.ToString("0.0"));
Result: 22.0
提到的代码应该有效。
item.GetFormattedValue("ColumnName")
或者试试这个 post
我正在对一个对象执行 ToString()
,我得到的输出是 float;#22.0000000000000
。我只需要 22.0
.
如何在 C# 中实现这一点?
附加信息: 该对象是 SharePoint 列表中数字列的值。正在使用 CAML 查询在我的代码中重试该值。我确定是使用 CAML 查询导致了这个问题。如果我只是通过遍历列表中的所有项目来检索项目,我不会遇到这个问题,但这种方法不如 CAML 查询有效。
更新:
似乎不是导致此输出的 ToString()
。我正在调用 ToString()
的对象似乎已经设置为 float;#22.0000000000000
,所以这就是直接从 CAML 查询中得出的结果。
使用给定的代码只得到 22.0
string value = "float;#22.0000000000000";
var number = value.Split('#')[1];
double num = double.Parse(number);
Console.WriteLine(num.ToString("0.0"));
Result: 22.0
提到的代码应该有效。
item.GetFormattedValue("ColumnName")
或者试试这个 post