为了账号安全,请及时绑定邮箱和手机立即绑定

如何将小数显示为具有整数值的双精度属性

如何将小数显示为具有整数值的双精度属性

C#
富国沪深 2022-06-12 14:36:05
当我像这样分配整个值时遇到问题double myDouble = 1.0;...到一个变量。当我在 Telerik 的文本块上显示它时,它会显示“1”而不是“1.0”。其他带小数位的值按预期工作。编辑 我将 wpf 与 Telerik Datagrid 一起使用。但在将值放入 Datagrid 之前,我将其转换为字符串。所以在此之前,我会像这样分配值。这是我的课:public class MyClass{  public int Id {get;set;}  public double MyDoubleVal {get;set;}}这就是我分配价值的方式var class = new MyClass { Id = 1, MyDoubleVal = 1.0 };当我调试并尝试检查该值时,它显示为“1”而不是“1.0”。现在,当我将要显示的值放在 DataGrid 上时,我可以手动添加小数位,但如果有可以为我处理的格式化函数,我宁愿不这样做。到目前为止,我已经尝试了以下String.Format(""{0:00.0}", myClassInstance.MyDouble);myClassInstance.MyDouble.ToString("0.0")
查看完整描述

3 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

尝试在 XAML 中格式化您的双精度值

<TextBlock Text="{Binding MyDoubleVal, StringFormat=n1}" />

如果只有 Content 属性,则改用 ContentStringFormat


查看完整回答
反对 回复 2022-06-12
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

你有很多选择。其中一些如下:


字符串.格式():


double a = 18.54657;//some number

Console.WriteLine(string.Format("{0:F2}", a);

// where F2 tells the function to format as a float with 2 decimals... for your usecase you can use F1

双.ToString():


double a = 18.54657;//some number

Console.WriteLine(a.ToString("#.#");

//where the # after the period tells the function to include 1 number after the period(or 1 decimal point). You can add more # for more decimal points to show. As a side not you can do a.ToString("#,###.#") to add commas to numbers


查看完整回答
反对 回复 2022-06-12
?
慕斯王

TA贡献1864条经验 获得超2个赞

您可以使用格式F:


double a = 1.0;

Console.WriteLine(a.ToString("F"));

将输出 1.00


查看完整回答
反对 回复 2022-06-12
  • 3 回答
  • 0 关注
  • 199 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信