数字数据类型问题,数字过大(问题没解决,只能让别人传字符串过来了)

主要问题
数据:9223372036854775808
问:接收的时候,直接变成了科学计数法,怎么不让他变?
注:数据是数字类型,不能传字符串类型

附带问题
数据:9223372036854775808.59454
问:怎么以数字类型返回,不以字符串类型返回?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

数字不可能了,你只能是字符串,精度会丢失的

2周前 评论
ytoz (楼主) 1周前
hedeqiang (作者) 1周前
讨论数量: 7

数字不可能了,你只能是字符串,精度会丢失的

2周前 评论
ytoz (楼主) 1周前
hedeqiang (作者) 1周前

分段传数字,然后再拼接。歪门邪道的方法 :joy:

2周前 评论

不行你砍我 :unamused:

$data = [];
$data['number'] = "9223372036854775808";
$data['float'] = "9223372036854775808.59454";
$return = json_encode($data);
$return = str_replace("\"{$data['number']}\"", $data['number'], $return);
$return = str_replace("\"{$data['float']}\"", $data['float'], $return);
var_dump($return);
// string(64) "{"number":9223372036854775808,"float":9223372036854775808.59454}"
2周前 评论
hedeqiang 1周前
忆往昔弹指间 (作者) 1周前
hedeqiang 1周前

这个肯定是存成字符串的啊,返回数据的时候,在转成float类型啊

2周前 评论

字段属性 用 字符串 varchar 或 char , 取出时 ,用 (int) 转化为 整型

1周前 评论
hedeqiang 1周前

PHP 标量类型与返回值类型声明

1周前 评论

注:数据是数字类型,不能传字符串类型

终究还是败给了现实

1周前 评论
ytoz (楼主) 1周前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!