你如何定义十进制19.2

Posted

技术标签:

【中文标题】你如何定义十进制19.2【英文标题】:How do u define decimal 19.2 【发布时间】:2021-09-25 17:48:07 【问题描述】:

我用 Laravel 5.8 编写了一个在线商店,在这个项目中,我想在 user_transactions 表中定义具有 Decimal 19.2 数据类型的 amount 列。

于是我打开phpmyadmin,将数据类型改为decimal

现在我需要知道如何在 phpmyadmin 和 Laravel 迁移中定义 Decimal(19.2)

我已经知道如何在 Laravel 中使用 Decimal 数据类型了:

$table->decimal('amount');

但是19.2 是在哪里定义的呢?

【问题讨论】:

什么意思?如果您已经在 mysql 表列上设置了decimal(19,2),则插入值的小数位数无关紧要......它始终根据列定义的十进制值存储。 See this decimal('field', 3, 1) 表示总共 3 位数字,包括 1 位小数。 【参考方案1】:

我相信您在这里谈论的是精度和规模。您可以使用

声明该列
$table->decimal('amount', 19, 2);

来自文档

具有精度(总位数)和小数位数(小数位数)的 DECIMAL 等效列。

对于 phpMyAdmin,选择类型DECIMAL 和长度/值19,2。这也会做同样的事情。但不要直接使用 phpMyAdmin。使用迁移来修改/向表中添加列。

【讨论】:

以上是关于你如何定义十进制19.2的主要内容,如果未能解决你的问题,请参考以下文章

你如何实现十进制键盘?

java中如何声明一个十六进制的字符串,或者说,怎么发送一个十六进制数据?

C语言如何定义一个16进制数

IEEE754标准以及非常规划定义,double的二进制转换工具类

C语言如何定义二进制变量?

C/C++中如何将文件读取为二进制数据到数组中,再从数组中读取二进制流还原为文件,主要是后一步