学无先后达者为师!
不忘初心,砥砺前行。

dotnet 代码大全:使用 C# 将长度转换为毫米、重量转换为克

单位转换是一个非常常见的场景:如果系统接收多个不同来源上报的尺寸信息,且需要进行计算时,转换为统一的单位可以大大降低后续计算的复杂度。

本文提供了两个方法,分别用来将长度按单位转换为毫米和重量转换为克:

将长度转换为毫米并向上取整:

public static int ToMillimeters(double value, string unit)//转为:毫米
{
    switch (unit)
    {
        case "angstrom": return Convert.ToInt32(Math.Ceiling(value * 1e-7)); // 埃
        case "centimeters": return Convert.ToInt32(Math.Ceiling(value * 10)); // 厘米
        case "decimeters": return Convert.ToInt32(Math.Ceiling(value * 100)); // 分米
        case "feet": return Convert.ToInt32(Math.Ceiling(value * 304.8)); // 英尺
        case "hundredths_inches": return Convert.ToInt32(Math.Ceiling(value * 0.254)); // 百分之一英寸
        case "inches": return Convert.ToInt32(Math.Ceiling(value * 25.4)); // 英寸
        case "kilometers": return Convert.ToInt32(Math.Ceiling(value * 1e6)); // 公里
        case "meters": return Convert.ToInt32(Math.Ceiling(value * 1e3)); // 米
        case "micrometer": return Convert.ToInt32(Math.Ceiling(value * 0.001)); // 微米
        case "miles": return Convert.ToInt32(Math.Ceiling(value * 1.609e6)); // 英里
        case "millimeters": return Convert.ToInt32(Math.Ceiling(value)); // 毫米
        case "mils": return Convert.ToInt32(Math.Ceiling(value * 0.0254)); // 丝
        case "nanometer": return Convert.ToInt32(Math.Ceiling(value * 1e-6)); // 纳米
        case "picometer": return Convert.ToInt32(Math.Ceiling(value * 1e-9)); // 皮米
        case "yards": return Convert.ToInt32(Math.Ceiling(value * 914.4)); // 码
        default: throw new Exception("未知单位:" + unit);
    }
}

将重量转换为克并向上取整:

public static int ToGrams(double value, string unit)//转为:克
{
    switch (unit.ToLowerInvariant())
    {
        case "grams": return System.Convert.ToInt32(Math.Ceiling(value));//克
        case "kilograms": return System.Convert.ToInt32(Math.Ceiling(value * 1000));//千克 1千克等于1000克
        case "tons": return System.Convert.ToInt32(Math.Ceiling(value * 1000 * 1000));//吨 1吨等于1000000克
        case "milligrams": return System.Convert.ToInt32(Math.Ceiling(value / 1000));//毫克 1毫克等于0.001克
        case "hundredths_pounds": return System.Convert.ToInt32(Math.Ceiling(value * 453.59237 * 0.01));//百分之一磅  1百分之一磅等于4.5359237克
        case "pounds": return System.Convert.ToInt32(Math.Ceiling(value * 453.59237));//磅 1磅等于453.59237克
        case "ounces": return System.Convert.ToInt32(Math.Ceiling(value * 28.34952));//盎司 1盎司等于28.34952克
        default: throw new Exception("未知单位:" + unit);
    }
}

以上代码由 ChatGPT 辅助编写。

赞(3) 打赏
未经允许不得转载:码农很忙 » dotnet 代码大全:使用 C# 将长度转换为毫米、重量转换为克

评论 抢沙发

给作者买杯咖啡

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册