如何将小数显示为具有整数值的double属性

时间:2018-12-13 01:54:02

标签: c# wpf telerik double radgridview

像这样分配整个值时出现问题

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 个答案:

答案 0 :(得分:0)

您可以使用格式F

double a = 1.0;
Console.WriteLine(a.ToString("F"));

output 1.00

答案 1 :(得分:0)

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

string.Format():

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

double.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

答案 2 :(得分:0)

尝试在XAML中设置双精度值

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

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