为啥当我输入整数数据时,它的值在 Codeigniter 中总是四舍五入

Posted

技术标签:

【中文标题】为啥当我输入整数数据时,它的值在 Codeigniter 中总是四舍五入【英文标题】:Why when I enter integer data, its value is always rounded in Codeigniter为什么当我输入整数数据时,它的值在 Codeigniter 中总是四舍五入 【发布时间】:2017-10-17 16:10:57 【问题描述】:

这里我要输入测试结果的值,这里的数据是基于整数的。

另外,我想加上其他测试结果值数据。

但是为什么当我输入这个基于整数的数据时,它的值总是四舍五入,或者我得到不合适的结果

在 Controller Exam.php

public function Exam()

  $data_exam = array(
    'subjects' => 'Natural Sciences',
    'name_of_pupil' => 'Rizky Remangsa',
    'the_pure_value_of_the_exam' => 5.6,
    'addition_with_another_value' => 11.2,
    'student_address' => 'Indonesia/Jakarta Selatan',
    'graduation_status' => 'Not graduated yet'
  );
  $this->exam_model->insertDataExam($data_exam);

上面输入数据的结果是:

table the_pure_value_of_the_exam = 6

表添加_with_another_value = 11

【问题讨论】:

您尝试输入的值是浮点数,而不是整数 那么我如何输入该数据,但基于整数。 @NathanDawson 整数是整数,因此您看到的值 6 和 11 是正确的。它们已为您从浮点数转换为整数。要正确插入,您需要更改存储值的格式 你的意思是?将其种类更改为 Varchar,是这样吗? @NathanDawson 【参考方案1】:

您以错误的格式存储数据,因此正在为您转换。

5.6 是浮点数,而不是整数。整数是整数。如果您将该值输入一个整数字段,它会将其四舍五入为最接近的整数。

您需要将存储值的格式更改为更合适的格式:

https://dev.mysql.com/doc/refman/5.7/en/fixed-point-types.html https://dev.mysql.com/doc/refman/5.7/en/floating-point-types.html

我在这里假设您使用的是 MySQL,但无论数据库类型如何,相同的方法都将适用。查看文档以确定如何最好地存储数据。

【讨论】:

谢谢,求答案:),对我很有帮助

以上是关于为啥当我输入整数数据时,它的值在 Codeigniter 中总是四舍五入的主要内容,如果未能解决你的问题,请参考以下文章

C语言,输入n个值在一行

为啥当我输入整数时它显示为不是整数? (Python)[重复]

当我在 vue 组件上输入另一个输入时,为啥输入文件的值丢失?

表单输入的值在 React 中提交时未更新

mern - 更新后的值在数据中为空

为啥整数类缓存值在 -128 到 127 范围内?