当我将它转换为字符串时,我的浮点数为100.0,它变为100。
rmt.MinNumber = 0.0;
rmt.MaxNumber = 100.0;
rmt.MaxLength = rmt.MinNumber.ToString() + " - " + rmt.MaxNumber.ToString();
我知道我能做到
rmt.MinNumber.ToString("0.0");
但这也是rmt.Decimal中保存的设置,所以
如果rmt.Decimal = 1 然后 rmt.MaxLength = 100.0
如果rmt.Decimal = 2 然后 rmt.MaxLength = 100.00 等等......
如何将其转换为保留其十进制值的字符串
根据CodeFuller的建议
public static class Helper
{
public static string Format(this float f, int n)
{
return f.ToString($"0.{new String('0', n)}");
}
}
但目前正在给我错误)预期
答案 0 :(得分:1)
您仍然可以使用ToString("0.0")
方法,但是您应该在运行时构建格式说明符,因为点后面的位数会有所不同。
考虑使用以下扩展方法:
public static class FloatExtensions
{
public static string Format(this float f, int n)
{
// return f.ToString($"0.{new String('0', n)}");
return f.ToString("0." + new String('0', n));
}
}
rmt.MaxLength = rmt.MinNumber.Format(rmt.Decimal)