gpt4 book ai didi

java - 将实数存储为 int 的接收/接受方法是什么?

转载 作者:行者123 更新时间:2023-12-01 13:08:41 24 4
gpt4 key购买 nike

因为在 MS Access(是的:哎呀!)、Java 和 SQLite 之间的各种浮点风格之间进行转换非常令人沮丧,所以我想将实数存储为 SQLite 中的整数。是实现此目的的首选方法,如下所示(伪代码):

//real r = 36.57
string realAsStr = r.ToString();
// realAsStr is now "36.57"
// strip out the decimal point so that realAsStr becomes "3657"
int strAsInt = (integer)realAsStr; // strAsInt is 3657

...或者像这样:

int realAsInt = r * 100; // r * 100 is 3657.0[0]; realAsInt = 3657

...或者像其他的那样?

注意:这些在 MS Access 中存储为实际类型的值是货币值,存储为 double 。

最佳答案

只需将实际值乘以 10^x,其中 x 是逗号后的相关位数。

然后舍入或截断,并赋值给 int。

示例:

假设逗号后的 3 位数字与您的应用相关:

double doubleVal = 127.123;
int intVal = (int) doubleVal * 1E3; // 1E3 = 1* 10^3 = 1000.0;
// intVal now is 127123

回读时只需除以 10^x:

intVal = 127123; // from DB
double val = intVal / 1E3;

//现在的值是 127.123;

关于java - 将实数存储为 int 的接收/接受方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23064834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com