JS中将数字转字符串按小数点分割时如何让第二部分保留小数点
使用split('.')拆分字符串时,小数点作为分隔符会被排除在拆分结果外,因此你拿到的numSplit[1]只有纯小数数字,没有小数点。要得到.2287的结果可参考以下方案:
方案1:获取字符串格式的.2287
直接在拆分出的小数部分前拼接小数点即可,无需用parseInt转换,同时增加整数场景的兼容判断:
var num = 2.2287, numString = num.toString(), numSplit = numString.split('.'), // 有小数位就拼接小数点,整数默认返回.0可按需修改 decimal = numSplit.length > 1 ? '.' + numSplit[1] : '.0'; $('.number').text(decimal);
运行后页面会输出.2287。
方案2:获取数值格式的小数
如果你需要的是数值类型的0.2287,可以直接用原数减去整数部分,更简单高效:
var num = 2.2287, decimal = num - Math.floor(num); // 得到0.2287
完整可运行代码
JavaScript代码
var num = 2.2287, numString = num.toString(), numSplit = numString.split('.'), decimalStr = numSplit.length > 1 ? '.' + numSplit[1] : '.0'; $('.number').text(decimalStr);
HTML代码
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="number"></div>
内容的提问来源于stack exchange,提问作者user13286
相关产品推荐
相关产品推荐

