在我的课程中,我有一个属性 fileSize 类型为长
我不想更改为float / double,因为我使用数据库,现在我不能只编辑 数据类型(迟到)
文件大小通常在 kB (原因长)。 但是,一旦我想在 MB (即 fileSize / 1024 )中显示它 - >我得到 0 ,因为类型不是 float / double ..
如何解决问题,以便在不更改 fileSize 的数据类型的情况下获得0.54MB的b.E
答案 0 :(得分:6)
fileSize / 1024
执行整数除法,因为两个操作数都是整数。如果你想进行真正的除法,你可以这样做(至少有一个操作数必须是实数):
double result = fileSize / 1024.0;
或:
double result = fileSize / 1024d;
现在结果将包含您要在UI上打印的正确值。
答案 1 :(得分:1)
只做
double sizeMiB = fileSize / 1024.0
或者
string toDisplay = string.Format("Size is {0}MiB", fileSize/1024.0);
答案 2 :(得分:1)
例如fileSize / 1024.0
或fileSize / 1024d
。 Both make the compiler treat this as a division based on double
答案 3 :(得分:1)
除以1024.0
,编译器会将其转换为double
。
答案 4 :(得分:1)
你可以做到
double a = fileSize / 1024d;