我有个一个保留 2 位小数的浮点数需要保存, 我是把它乘以 100,按照 int 存,还是按照 decimal(4,2)来存?

hackingwu:我有一个字段要保留 2 位小数,我是按照 decimal(4,2)来存,还是乘以 100,按照 int 来存,返回给使用者的时候在做个转换。目的是 decimal(4,2)占了 8bytes,int 才 4bytes, 我这个表有 10 来个 decimal 的字段。

opengps:其实,对于你的数据规模来讲,未必需要在乎这 2 个字节的节省
建议你先评估下数据规模有多大,是否真的需要省空间,然后才考虑是否可以用 cpu 换硬盘

opengps:换句话说,硬盘比 CPU 便宜,一般推荐存储上选用最方便的数据结构。
你硬盘紧张就把表设计的紧凑点,CPU 紧张就尽量少做运算

wangritian:我是乘以 100 存整数了,感觉做统计计算时比浮点数速度会快一点

coderluan:你不说具体场景和目的, 那就是都行.

在PHP中使用long int - php

我正在尝试此方法,但无法存储较大的价值$var = rand(100000000000000,999999999999999); echo $var; // prints a 9 digit value(largest possible) 如何获得期望值? 参考方案 PHP整数通常为32位。其他软件包提供了更高精度的整数:http://php.net/man…

为什么我的按位运算不能在Java中与`int`一起使用? - java

我刚得到以下编译器错误:./package/path/FrameScreenPosition.java:80: incompatible types found : int required: boolean if (frame.getExtendedState() & Frame.MAXIMIZED_BOTH) { ^ “扩展状态”是各种不同状态的…

在AtomicInteger.addAndGet(int)中使用无限循环 - java

在Java包中,java.util.concurrent.atomic AtomicInteger类具有方法addAndGet(int)这是public final int addAndGet(int delta) { for (;;) { int current = get(); int next = current + delta; if (compar…

Robot.delay(int)与Thread.sleep(long) - java

我有一个程序,其唯一目的是无限循环驱动java.awt.Robot直到满足退出条件。机械手快速连续执行许多动作,这需要它们之间具有标准的UI延迟。为此,我使用了java.awt.Robot.setAutoDelay(int ms),它似乎正是为此目的而设计的。但是,在其他时候,我需要插入任意长的延迟才能完成操作。我似乎可以选择使用java.awt.Robot…

通过List <int>在函数参数中传递超过10个lac记录? - c#

我遇到的情况是数据库中有10多个lac记录。当用户使用某些选定的记录在MVC中点击我的操作方法时,我想通过获取所有记录并将它们与用户传递的记录进行比较来检查这些记录是否存在于数据库中。然后我想将所有这些记录传递给另一个函数。在函数参数中传递这么多记录是否安全?这是一个演示:- //Action Method [HttpGet] Public ActionRe…