c# - 一种在 C# 中编写大数字文字的方法

标签 c# numbers decimal literals

我有这样的方法:

Prefix GetPrefix(decimal value)
{
    if(value > 11000000000000000000)
        return Prefix.CosmicBig;
    if(value > 1000000000000000)
        return Prefix.ReallyBig;
    if(value > 3000000000000)
        return Prefix.Big;
    if(value > 50000000)
        return Prefix.Okay;
    if(value > 750000)
        return Prefix.MostlyNormal;
    if(value > 750000)
        return Prefix.SoSo;
    if(value > 750)
        return Prefix.Small;
    return Prefix.MiserablySmall;
}

确切的值并不重要。重要的是它们有时会发生变化(前缀用于绘图,一些文本区域在开发中会改变大小)。我正在寻找一种编写这些文字的方式,这种方式可以让人类轻松更改它,而无需计算所有零。分隔符会很好。我考虑过编写 11 * 1000 * 1000 * 1000 * 1000 * 1000 * 1000,但这只是勉强更易于管理。使用 Math.Pow() 会好一些,但我不习惯使用此类计算来定义常量。

最佳答案

您可以使用 11e18 而不是 11000000000000000000。用m表示是小数,所以11e18m

关于c# - 一种在 C# 中编写大数字文字的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15154333/

相关文章:

python - Decimal Python 与 float 运行时

java - 意外的小数结果

c# - ListView - 将 listviewitem 数据绑定(bind)到对象

c# - Linq投影问题

generics - 尽管提供了 `impl Trait`参数,但仍提供了明确的类型规范

excel - 如何在Excel中将数字保存为字符串?

javascript - 在 JavaScript 中生成和检查随机数

android - 删除小数位的数字

c# - 如何更改一周的第一天是哪一天?

c# - 我如何在 XUnit 测试中的事实开始和结束时创建和删除数据库?