如何将label.text显示或格式化为currency和double [英] How to display or format label.text to currency and double
本文介绍了如何将label.text显示或格式化为currency和double的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个datagridview,它有鼠标点击事件处理程序,我的列Rate_Per_Day值= 602.55,然后它将显示在我的Rate_Per_Day标签中。在我的标签中显示为602.545454545455。如何将其显示为货币并加倍。谢谢
我的尝试:
<预> private void dataGridView2_MouseClick(object sender,MouseEventArgs e)
{
lbl_nameUPDATE.Text = dataGridView2.SelectedRows [0] .Cells [Name]。Value.ToString();
txtPosition2.Text = dataGridView2.SelectedRows [0] .Cells [Position]。Value.ToString();
comboBox2.Text = dataGridView2.SelectedRows [0] .Cells [Division_Unit_Section]。Value.ToString();
txtMonthly_Rate2.Text = dataGridView2.SelectedRows [0] .Cells [Monthly_Rate]。Value.ToString();
lbl_RatePerDay.Text = dataGridView2.SelectedRows [0] .Cells [Rate_Per_Day]。Value.ToString();
解决方案
< blockquote>怎么样:
lbl_RatePerDay.Text = dataGridView2.SelectedRows [0] .Cells [Rate_Per_Day]。Value.ToString(。00);
Value
属性返回对象
,这不是没有标准的格式化选项。
快速而肮脏的修复方法是使用string.Format
:lbl_RatePerDay.Text = string .Format( {0:F2},dataGridView2.SelectedRows [ 0 ]。单元格[ Rate_Per_Day]。价值);
A更完整的修复方法是创建自己的扩展方法:
public static class FormattingExtensions
{
public static string ToString( this object obj, string 格式,IFormatProvider formatProvider = null )
{
if (obj == null ) throw new NullReferenceException();
var formattable = obj as IFormattable;
if (formattable == null ) return obj.ToString();
return formattable.ToString(format,formatProvider);
}
}使用:
lbl_RatePerDay.Text = dataGridView2.SelectedRows [ 0 ] .Cells [ Rate_Per_Day]。Value.ToString( F2);
I have a datagridview that has on mouse click event handler where my column "Rate_Per_Day" value = 602.55 and then it will display in my Rate_Per_Day label. In my label it displays as 602.545454545455. How can I display it as a currency and double. Thanks
What I have tried:
<pre> private void dataGridView2_MouseClick(object sender, MouseEventArgs e) { lbl_nameUPDATE.Text = dataGridView2.SelectedRows[0].Cells["Name"].Value.ToString(); txtPosition2.Text = dataGridView2.SelectedRows[0].Cells["Position"].Value.ToString(); comboBox2.Text = dataGridView2.SelectedRows[0].Cells["Division_Unit_Section"].Value.ToString(); txtMonthly_Rate2.Text = dataGridView2.SelectedRows[0].Cells["Monthly_Rate"].Value.ToString(); lbl_RatePerDay.Text = dataGridView2.SelectedRows[0].Cells["Rate_Per_Day"].Value.ToString();
解决方案
How about:
lbl_RatePerDay.Text = dataGridView2.SelectedRows[0].Cells["Rate_Per_Day"].Value.ToString(".00");
TheValue
property returns anobject
, which doesn't have the standard formatting options.
The quick-and-dirty fix is to usestring.Format
:lbl_RatePerDay.Text = string.Format("{0:F2}", dataGridView2.SelectedRows[0].Cells["Rate_Per_Day"].Value);
A more complete fix would be to create your own extension method:
public static class FormattingExtensions { public static string ToString(this object obj, string format, IFormatProvider formatProvider = null) { if (obj == null) throw new NullReferenceException(); var formattable = obj as IFormattable; if (formattable == null) return obj.ToString(); return formattable.ToString(format, formatProvider); } }Use:
lbl_RatePerDay.Text = dataGridView2.SelectedRows[0].Cells["Rate_Per_Day"].Value.ToString("F2");
这篇关于如何将label.text显示或格式化为currency和double的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文