用php将科学记数法转换为十进制[重复]

2023-12-28

比特币的数学给我带来了问题

        $value = bcmul((float)$TotalMoney, $p,8);
        $value = bcdiv((float)$Value, 100,8);

返回 8.431e-05 作为脚本中的值之一

我试过了

$newNum = (float)$value; 
$newNum = number_format((float)$value, 8); 
$newNum = sprintf('%.8f',$value);

function scientific_notation($in_float_value, $in_decimal_place_count = -1) 
{

  // Get the exponent
  $abs_float_value = abs($in_float_value);
  $exponent = floor($abs_float_value == 0 ? 0 : log10($abs_float_value));
  // Scale to get the mantissa
  $in_float_value *= pow(10, -$exponent);
  // Create the format string based 
  // on the requested number of decimal places.
  $format = ($in_decimal_place_count >= 0) ? "." . $in_decimal_place_count : "";
  //echo("Format0: $format");
  // Format the exponent part using zero padding.
  $formatted_exponent = "+" . sprintf("%02d", $exponent);
  if($exponent < 0.0)
  {
      $formatted_exponent = "-" . sprintf("%02d", -$exponent);
  }
  $format = "%" . $format . "fe%s";
  //echo("Format1: $format");
  // Return the final value combining mantissa and exponent
  return sprintf($format, $in_float_value, $exponent);

}
$newNum = scientific_notation($value,8);

在 phpfiddle 中尝试了一下,它有效。也许问题是将其存储在数据库中。它在数据库中存储为 8.431e-05

我究竟做错了什么?


使用下面的示例将 PHP 上的科学记数法转换为浮点/小数:

echo sprintf('%f', floatval('-1.0E-5'));//default 6 decimal places
echo sprintf('%.8f', floatval('-1.0E-5'));//force 8 decimal places
echo rtrim(sprintf('%f',floatval(-1.0E-5)),'0');//remove trailing zeros
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用php将科学记数法转换为十进制[重复] 的相关文章

随机推荐

  • 如何在 PHP 中返回文件

    我有一个文件 file zip 一个用户来到 download php 我希望用户的浏览器开始下载文件 我怎么做 readfile 是否打开服务器上的文件 这似乎是不必要的事情 有没有办法返回文件而不在服务器上打开它 我想你想要这个 att
  • 如何使用PDO和bindParam将数组插入mysql?

    我正在使用以下代码 该代码有效 但我想更改它以便它使用bindparam try dbh new PDO mysql host hostname dbname dbname username password stqid array for
  • 如何增加 C# 应用程序中 mysql 连接的连接超时?

    我想增加 mysql 连接的连接超时 但无法从 mysql 服务器的管理员面板修改超时设置 我想在 C 应用程序中执行此操作 并且我注意到我可以读取该属性连接超时 of MySql连接班级 我想知道有没有办法在打开 mysql 连接之前增加
  • eclipse可以调试或运行一个项目中的两个程序

    eclipse调试可以在一个项目中运行两个程序吗 我的意思是我有两个程序public static void main 方法 可以同时调试它们吗 我已经尝试这样做了 有两个显示控制台 调试窗口中有两个线程 您可以单击该线程来决定要调试哪个程
  • 使用create_task()还是gather()效率更高?

    我仍处于异步 python 的基础知识中 有些事情让我感到困惑 import asyncio loop asyncio get event loop for variation in args loop create task corout
  • 使用 FXML 的 JavaFX 窗口更换器

    我目前正在尝试在单击按钮时制作窗口 场景 更改器 具体来说 是在用户登录时更改窗口 我想知道如何减少冗余代码 并将负责更改窗口的方法放在一个集中的位置 是否有特定的设计模式可遵循 到目前为止 我有这个 主程序 java public cla
  • 如何从列中删除浮点值 - pandas

    我有一个数据框 如下所示 df pd DataFrame subject id 1 1 1 1 1 1 val 5 6 4 5 4 6 6 6 看起来如下图所示 我想放弃values from val以以下结尾的列 1 9 基本上我想保留这
  • 如何在PHP中使电子邮件链接在X分钟后过期?

    我正在处理电子邮件链接 一段时间后就会过期X分钟 其中X表示一些随机日期时间 所以我的动机是在一段时间后使链接过期 无论我在其中设置 date time 过期日期 所以我自己创建了虚拟代码只是为了确保我的代码是否有效 currentDate
  • TSql 触发器只需要在值已更改的列上触发

    我编写了一个触发器 需要根据行中实际更新的列对表执行一些不同的工作 我使用以下方法完成了此操作 IF UPDATE column name 那部分工作正常 然而 事实证明 代码的其他部分通过设置每个值来更新行 无论该值是否实际更改 这会导致
  • 悬停效果不适用于 IE8

    我使用 CSS 来改变表格悬停时的颜色 tabb tbody tr hover td color 006 background d0e4f2 这在 Chrome 和 Firefox 中运行良好 但在 Internet Explorer 8
  • 我应该如何解释 numpy.fft.rfft2 的输出?

    显然 rfft2 函数只是计算输入矩阵的离散 fft 但是 如何解释输出的给定索引 给定输出的索引 我要查看哪个傅立叶系数 我对输出的大小特别困惑 对于 n n 矩阵 输出似乎是 n n 2 1 矩阵 对于偶数 n 为什么方阵最终会得到非方
  • 用标记而不是箭头进行注释

    我该如何获取这段代码 import matplotlib pyplot as plt fig plt figure ax fig add subplot 111 x 1 2 3 4 5 6 7 8 9 10 y 1 1 1 2 10 2 1
  • 如何避免在 Facelets 页面中重复/使用常量?

    在 Facelets 页面中 我有各种
  • 在 awk 中转置两个字段

    假设一个文件如下所示 a b c d a b c d a b c d 如何转置两个字段 例如 c b a d c b a d c b a d 提前致谢 这是另一个解决方案 交换第一个和第三个字段 然后打印 awk F temp 1 1 3
  • typeid 不适用于非静态成员函数

    clang不编译第三次调用typeid下面 参见活生生的例子 http coliru stacked crooked com a e61efc069f27dc35 但我在第 5 2 8 节中看不到任何不允许这样做的内容 特别是当我们认为表达
  • 仅对已编辑的文件启用 eslint

    最近 我配置了我的项目之一的eslint 这个项目由数百个文件组成 一旦我配置了 eslint 就会开始在所有文件中显示错误 IMO eslint 会遍历所有 js 文件 目前不需要 有什么方法可以限制 eslint 只针对已编辑的文件吗
  • 如何使用Python计算gurobi中的2范数约束?

    有人可以帮我编写 2 范数约束吗 k 2 n 2 w model addMVar k n lb 1 0 ub 1 0 vtype gp GRB CONTINUOUS name w for i in range k sumw 0 for j
  • 如何使用 ant 展平 zip 文件的顶级文件夹?

    许多 zip 文件都有根文件夹 如何解压 zip 文件并删除根文件夹 我知道有globmapper
  • Android Studio 模拟器错误(需要 Intel HAXM/未安装模拟器)

    我刚刚将 Android API 更新到 25 之后我的模拟器就停止工作了 当我尝试运行模拟器时 它会弹出错误 运行此 AVD 需要 Intel HAXM 未安装模拟器 请下载模拟器 如下所示 并且Event Log打印出 运行应用程序时出
  • 用php将科学记数法转换为十进制[重复]

    这个问题在这里已经有答案了 比特币的数学给我带来了问题 value bcmul float TotalMoney p 8 value bcdiv float Value 100 8 返回 8 431e 05 作为脚本中的值之一 我试过了 n