像这样分配整个值时出现问题
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")
答案 0 :(得分:0)
答案 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