c# - 将 float 转换为保留小数的字符串

标签 c# mysql entity-framework

我的 float 是 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)}");
    }
}

但目前它给了我预期的错误

最佳答案

您仍然可以使用 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)

关于c# - 将 float 转换为保留小数的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47447727/

相关文章:

c# - WebBrowser.Body 总是返回 null

c# - 将一个txt文件分割成多个文件,每个文件的行数可由用户设置

c# - 如何检测是否安装了MySQL?

Java Mysql大数据超出堆空间

.net - 在 Entity Framework 5 中将代码生成从无更改为默认值后出现错误

c# - 使用 textBox_TextChanged 事件和 if 语句一起写入文本框越来越慢。

c# - 将表类型作为 T 传递给通用列表

php - 这个sql表结构会阻止未经授权的sql插入吗?

entity-framework - 单个Web应用程序的多个DbContext类。是好是坏?

c# - 如何使用 EF Code First 避免外表中的重复行