我正在尝试将浮点数转换为字符串。
我有一个表示CPU负载的字符串(dividestring [2]),例如0.00或0.01或0.54等。
然后我想把它转换成浮点数,所以我做了以下几点:
float.TryParse(dividedstring[2], out insertCPUvalue);
现在,当我尝试显示浮动时,例如:
MessageBox.Show(insertCPUvalue.ToString());
我得到:" 0",现在我假设这是因为字符串" dividestring [2]"是==" 0.00",所以刚刚取小数点? - 并将其四舍五入为0?
答案 0 :(得分:5)
如果insertCPUvalue
为float
,则可以使用
MessageBox.Show(string.Format("{0:0.00}%", insertCPUvalue));
有关格式的更多信息:
答案 1 :(得分:1)
试试这个:
MessageBox.Show(insertCPUvalue.ToString("0.00"));
答案 2 :(得分:1)
float f = 0.0000666f;
Messagebox.Show(String.Format("{0:0,0.0000000}", f));
答案 3 :(得分:1)
您应该使用不变文化来解析您的字符串。
float.TryParse("0.58", NumberStyles.Any, CultureInfo.InvariantCulture, out f);
答案 4 :(得分:0)
使用
MessageBox.Show(insertCPUvalue.ToString("F02"));
答案 5 :(得分:0)
我认为问题是你在dividedstring
(2个元素的数组)中有2个元素,并且你传递的dividedstring[2]
没什么(因为索引从0
开始,所以你有元素0
和元素1
),这将抛出一个异常,但TryParse
将捕获它并返回赋值0
,所以尝试传递dividedstring[1]
istead
要确保这一点,只需尝试使用Parse:
insertCPUvalue.Parse(dividedstring[2]);
如果我的预测是正确的,这应该抛出异常。