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

当我像这样分配整个值时遇到问题


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")


富国沪深
浏览 200回答 3
3回答

蝴蝶刀刀

尝试在 XAML 中格式化您的双精度值<TextBlock&nbsp;Text="{Binding&nbsp;MyDoubleVal,&nbsp;StringFormat=n1}"&nbsp;/>如果只有 Content 属性,则改用 ContentStringFormat

鸿蒙传说

你有很多选择。其中一些如下:字符串.格式():double a = 18.54657;//some numberConsole.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 numberConsole.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

慕斯王

您可以使用格式F:double a = 1.0;Console.WriteLine(a.ToString("F"));将输出 1.00
打开App,查看更多内容
随时随地看视频慕课网APP