ALL,
我试图从初始化文件中读取1.5的值,并在Windows窗体的文本控件中将其显示为1.50000。
以下是代码:
string value = ini.Read( "Form", "value" );
this.textcontrol.Text = String.Format( "{0:F5}", value );
“value”变量确实包含1.5,但文本控件也显示1.5而不是1.50000。
我做错了什么?
谢谢。
[编辑]
正如我所建议的那样,我尝试做以下事情:
var doublevar = double.Parse( value, CultureInfo.InvariantCulture );
this.textcontrol.Text = doublevar.ToString( "{0:F5}" );
但我在控件中看到的是{1:F5}。
有什么想法吗?
[/编辑]
答案 0 :(得分:2)
您正在将值读取为字符串。您希望将其转换为双倍,以使此格式化工作。
string valueText = ini.Read( "Form", "value" );
var value = double.Parse(valueText);
答案 1 :(得分:2)
应该是这样的
string value = ini.Read( "Form", "value" );
this.textcontrol.Text = String.Format("{0:0.00000}", double.Parse(value));
答案 2 :(得分:1)
您应该将值分配给十进制变量。
下面的代码示例可行。
decimal value = 1.5m;
this.txtEditAcquisitionUpb.Text = String.Format( "{0:F5}", value );
答案 3 :(得分:1)
结合其他答案以使其正确:
string valueString = ini.Read("Form", "value");
double valueDouble = double.Parse(valueString);
this.textcontrol.Text = valueDouble.ToString("F5");
如果有可能在不同CultureInfo
的机器上运行,请考虑使用包含Parse
的{{1}}和ToString
的重载。
答案 4 :(得分:0)