2011-11-06 88 views
0

在我的课我有一个属性,档案大小 类型是从长转换为浮点数

我不想改变浮动/双,因为我与数据库工作,现在我不能只是编辑 的数据类型(后期)

文件大小通常为KB(之所以).. 但一旦我想表明它在MB(那会,档案大小/ 1024) - >我得到,因为它的类型不是浮点/双精度 ..

我怎样才能解决这个问题,让我得到bE 0.54MB而不更改数据类型fileSize

回答

6

fileSize/1024执行整数除法因为这两个操作数均为整数。如果要执行真正的除法,你可以这样做(操作数中至少有一个必须是实数):

double result = fileSize/1024.0; 

或:

double result = fileSize/1024d; 

现在结果将包含正确的值,你想要在UI上打印。

+0

是。您绝对不需要更改数据库字段。 –

+0

好的谢谢你,解决了我的问题! – eMi

1

只是做

double sizeMiB = fileSize/1024.0 

或者

string toDisplay = string.Format("Size is {0}MiB", fileSize/1024.0); 
1

除以1024.0,编译器将其转换为double

1

你可以做

double a = fileSize/1024d;