栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将双数取整为x个有效数字

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将双数取整为x个有效数字

该框架没有内置函数来舍入(或截断,如您的示例所示)为多个有效数字。但是,您可以执行此操作的一种方法是缩放数字,以使您的第一个有效数字紧靠小数点后,四舍五入(或截断),然后缩减。以下代码可以解决问题:

static double RoundToSignificantDigits(this double d, int digits){    if(d == 0)        return 0;    double scale = Math.Pow(10, Math.Floor(Math.Log10(Math.Abs(d))) + 1);    return scale * Math.Round(d / scale, digits);}

如您的示例所示,如果您确实要截断,那么您需要:

static double TruncateToSignificantDigits(this double d, int digits){    if(d == 0)        return 0;    double scale = Math.Pow(10, Math.Floor(Math.Log10(Math.Abs(d))) + 1 - digits);    return scale * Math.Truncate(d / scale);}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442779.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号