有一组数字,想判断一组数字中最多的有几位小数,乘以10的指定幂,转为整数,此处教大家一个高级的写法,拒接无脑for循环

decimal

decimal[] numbers = new decimal[] { 1.2345m, 2.3456789m, 3.456m, 4.56789m, 5.67890m, 6.78901234m };
int maxDecimalPlaces = numbers.Max(n => decimal.GetBits(n)[3] >> 16);
int[] intNumbers = numbers.Select(n => (int)(n * (decimal)Math.Pow(10, maxDecimalPlaces))).ToArray();

double: 如果想更短,可以double转decimal然后用上面的

double[] numbers = new double[] { 1.2345, 2.3456789, 3.456, 4.56789, 5.67890, 6.78901234 };
int maxDecimalPlaces = numbers.Max(n => {
string str = n.ToString();
int decimalIndex = str.IndexOf(".");
return decimalIndex >= 0 ? str.Length - decimalIndex - 1 : 0;
});
int[] intNumbers = numbers.Select(n => (int)(n * Math.Pow(10, maxDecimalPlaces))).ToArray();

C# decimal double 获取一组数字 小数点后最多有几位的更多相关文章

  1. java 保留小数点后N位数(若干位),几种实现的方式总结

    import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;/** * java ...

  2. Java中double变量精确到小数点后几(2)位

    import java.math.BigDecimal; import java.text.NumberFormat; public class Java中double类型的数据精确到小数点后两位 { ...

  3. android edittext 限制小数点后最多只能输入两位数字

    android:inputType="numberDecimal" private InputFilter lengthFilter = new InputFilter() { @ ...

  4. iOS中UITextField输入判断小数点后两位

    在输入金额的UITextField中,要给予三个规则的判断 1. 只能输入数字(可以通过设置键盘类型为Decimal Pad) 2. 小数点只能有一个 3. 小数点后最多有两位数字 (可以通过正则表达 ...

  5. 控制input标签中只能输入数字以及小数点后两位

    js 代码如下: /* 控制input标签中只能输入数字 和小数点后两位 */ function checkNum(obj) { //检查是否是非数字值 if (isNaN(obj.value)) { ...

  6. linq的decimal类型保存到数据库只保存到小数点后两位的问题

    今天的一个decimal类型保存到数据的问题困扰了我很长时间,最后就是一个小小的设置问题解决······坑······深坑···· 话不多说,直接说问题,在说答案: 问题:linq当采用EF的DbCo ...

  7. newcoder Tachibana Kanade Loves Probability(小数点后第k位)题解

    题意:题目链接立华奏在学习初中数学的时候遇到了这样一道大水题: “设箱子内有 n 个球,其中给 m 个球打上标记,设一次摸球摸到每一个球的概率均等,求一次摸球摸到打标记的球的概率” “emmm...语 ...

  8. 如何实现parseFloat保留小数点后2位

    Number.toPrecision(2);function toPrecision ( [precision : Number] ) : String参数 precision 可选项.有效位数.值必 ...

  9. input内强制保留小数点后两位 位数不足时自动补0

    input内强制保留小数点后两位 位数不足时自动补0 小数点后位数超出2位时进行四舍五入 需引入jquery包 1.11.2版本 1 function xiaoshu(x) 2 { 3 var f = ...

  10. C++ double类型转string类型后,怎么实现小数点后只显示一个数字

    C++ double类型转string类型后,怎么实现小数点后只显示一个数字 #include <iostream> #include <sstream> #include & ...

随机推荐

  1. 11.7 消除闪烁(1)(harib08g)

    ps:看书比较急,有错误的地方欢迎指正,不细致的地方我会持续的修改 11.7 消除闪烁(1)(harib08g) 11.6 高速计数器(harib08f)存在闪烁的问题,产生原因:刷新时会从低到高进行 ...

  2. 声网深度学习时序编码器的资源预测实践丨Dev for Dev 专栏

    本文为「Dev for Dev 专栏」系列内容,作者为声网大后端智能运营算法团队 算法工程师@黄南薰. 随着深度学习技术的发展,编码器的结构在构建神经网络中成为了热门之选,在计算机视觉领域有众多成功案 ...

  3. java异常--处理机制

    java异常处理机制 异常处理的关键字:try catch finally throw throws package charpter6.Demo02; public class Test { pub ...

  4. Go语言:利用 TDD 逐步为一个字典应用创建完整的 CRUD API

    前言 在数组这一章节中,我们学会了如何按顺序存储值.现在,我们再来看看如何通过键存储值,并快速查找它们. Maps 允许你以类似于字典的方式存储值.你可以将键视为单词,将值视为定义. 所以,难道还有比 ...

  5. 【ACM算法竞赛日常训练】DAY1题解与分析

    DAY1 共四题: 月月查华华的手机:https://ac.nowcoder.com/acm/problem/23053 Rinne Loves Edges:https://ac.nowcoder.c ...

  6. JetBrains 2022全家桶-激活

    ## JetBrains 全家桶 激活教程 https://tech.souyunku.com/?page_id=50199

  7. $\mathcal{2023WinterHoliday}$刷题总结

    \(\mathcal{2023WinterHoliday}\) \(\mathcal{CTF}\) \(\mathcal{web}\) 1.\(json格式:\)$json['x']=="w ...

  8. go微服务框架kratos学习笔记二(kratos demo 结构)

    目录 api cmd configs dao di model server service 上篇文章go微服务框架kratos学习笔记一(kratos demo)跑了kratos demo 本章来看 ...

  9. TOP使用参数

    TOP使用参数top是检查机器当前运行状况的第一个命令,就好比是机器体检时的第一张报告单.先了解一下TOP命令的使用 [root@localhost /]# top -help top: procps ...

  10. python之os常用方法

              1.os模块的部分常用属性(Windows系统) os模块常用属性 相应的作用 os.name 返回你电脑的操作系统(Windows系统下会返回'nt') os.curdir 指代 ...