MetricNumeralExtensions.ToMetric 已过时,使用 MetricNumeralFormats?

问题描述

我们已将 Humanizer 从 2.8.26 升级到 2.11.10,现在收到以下警告:

'MetricNumeralExtensions.ToMetric(double,bool,int?)' is obsolete: 'Please use overload with MetricNumeralFormats'

是否有关于如何使用 MetricNumeralFormats 的示例?我应该用什么来使它工作?

这是我们当前的代码

using System;
using Humanizer;
                    
public class Program
{
    public static void Main()
    {
        Console.WriteLine(1234.ToMetric(false,true,2));
    }
}

Try it online

Also asked on GitHub

解决方法

这里如何为您的案例使用 MetricNumeralFormats:

using System;
using Humanizer;

public class Program
{
    public static void Main()
    {
        // instead of
        Console.WriteLine(1234.ToMetric(false,true,2));
        // do
        var decimals = 2;
        Console.WriteLine(1234.ToMetric(null,decimals));
    }
}

输出

1.23k
1.23k

null 这里是您要使用的格式

例如

var decimals = 2;
var format = MetricNumeralFormats.WithSpace | MetricNumeralFormats.UseName;
Console.WriteLine(1234.ToMetric(format,decimals)); 

会输出

1.23 kilo

来源:MetricNumeralTestsMetricNumeralFormats

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...