javascript - 从php发送大量数字到jquery,不带科学计数法

标签 javascript php jquery ajax yii

我有一个很大的数字 [987654321999999],我想将其传递给 jquery,但它返回带有科学记数法的大数字 [9.87654322E+14]。如何在没有科学记数法的情况下将大数字发送到jquery?

<小时/>

PHP 函数

public function actionCalPrice()
{
$totalPrice = 987654321999999;
echo CJSON::encode($totalPrice);
}

在 JQuery 中

$.ajax({
  type: "POST",
  url: "<?php echo Yii::app()->createUrl('items/calPrice');?>",
  data:{ajax:ajax},
  dataType: "json",
  success: function(data) {
    alert(data);
    }
});

最佳答案

处理大整数时,最好使用字符串而不是整数。

public function actionCalPrice()
{
   $totalPrice = "987654321999999";
   echo CJSON::encode($totalPrice);
}

或者如果您无法在数字查找 sprintf 周围加上引号以进行其他格式设置。

public function actionCalPrice()
{
   $totalPrice = 987654321999999;
   echo CJSON::encode(rtrim(sprintf('%.20F', $totalPrice),'0'));
}

但是,您的 Javascript 在 32 位操作系统/应用程序上的执行方式会有所不同。

您想要的 Javascript 输出是什么?

此外,如果您的 $totalPrice 实际上是一个变量而不是常量,例如根据其他变量计算价格,我建议您研究一下 PHP 的 bcmath。 http://php.net/manual/en/book.bc.php

关于javascript - 从php发送大量数字到jquery,不带科学计数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24886369/

相关文章:

asp.net - 如何使用 Javascript 在单击链接时重置 ASP.NET 下拉菜单?没有 JS 框架

javascript - 为什么要传入一个函数?

javascript - 图片对象设置src前是否需要先设置onload函数?

javascript - 将服务注入(inject)组件的方法?

php - 如何使用最佳方法获得一行中多个字段的不同计数

javascript - HTML5 服务器发送的事件

jquery - 如何在 mvc 验证消息中使用 Bootstrap 弹出窗口

php - 每个用户在 TinyMCE 的 iBrowser 中都有自己的图像文件夹

jquery - 无法在初始化之前调用方法;试图调用方法 'refresh'

c# - 文本框接受 Javascript 中的以下值吗?