将小数点插入特定位置

Posted

技术标签:

【中文标题】将小数点插入特定位置【英文标题】:Insert decimal point into specific position 【发布时间】:2017-05-15 15:49:21 【问题描述】:

当前有一个数字存储在从 API 调用返回的变量中。我希望在这个数字返回给用户之前插入一个小数点。

我尝试将它分解成一个列表,但是没有成功。

$cTotal = 32275247631

我希望这个变量变成:

$cTotal = 32.275247631

【问题讨论】:

你想让点总是在第三位吗? 问题不清楚。外部 API 是否返回乘以 10 的某个大幂的值? (`32275247631 == 32.275247631 * 10^9) 决定插入点的规则是什么? 最好我希望它通过动态到数字的长度,但是当有人告诉我为什么我很愚蠢并且无法显示小数点时,我应该能够做到这一点。 API(总共多个比特币钱包)返回 cTotal 中所见的值,仅此而已。 在 api 本身应该返回点 示例:blockchain.info/q/getreceivedbyaddress/… 【参考方案1】:

php的substr_replace做吧

<?php
$num = 123456789;
$newstr = substr_replace($num, ".", 2, 0);
echo $newstr; // returns 12.3456789
?>

【讨论】:

我也试过这个,但是它把点放在数字的末尾:“32460692771。” 我同意,它可以独立工作,但是当我将它实现到我的代码中时,它只是将点放在最后。现在想弄清楚 那么现有代码可能正在进行一些修改。【参考方案2】:

要在 n 个位置后插入小数,只需将数字除以 10^n。

    $cTotal = 32275247631;
    $position = 9;
    $cTotal = $cTotal/pow(10,$position);
    echo $cTotal;

【讨论】:

【参考方案3】:

根据您的问题,我理解这一点。尝试如下:

$cTotal = 32275247631;
echo substr_replace( $cTotal, '.', 2, 0 );

更多信息请查看here

【讨论】:

你试过了吗? 我也试过这个,但是它把点放在数字的末尾:“32460692771。” 我同意,它可以独立工作,但是当我将它实现到我的代码中时,它只是将点放在最后。现在想弄清楚。

以上是关于将小数点插入特定位置的主要内容,如果未能解决你的问题,请参考以下文章

更新 CSV 文件以删除第一个数字并在特定列中插入小数位

怎么让产生有小数点数据自动变成进一位的整数,不管小数点后面是多少,都进一位

Javascript如何将十进制数转换为具有特定小数位数的字符串

冒泡排序,选择排序,插入排序

如何在数字中插入小数

添加逗号,小数到数字输出javascript