从Long转换为Float数

eMi*_*eMi 0 c# floating-point types long-integer

在我的类中我有一个属性,fileSize 类型很

我不想更改为float/double,因为我使用数据库,现在我不能只编辑数据类型(到了晚)

文件大小通常是以KB为单位(理由为什么)..但是一旦我想以MB显示它(即fileSize/1024) - >我得到0,因为类型不是float/double ..

我如何解决问题,以便在不更改fileSize的DataType的情况下获得0.54MB的bE

Dar*_*rov 6

fileSize / 1024由于两个操作数都是整数,因此执行整数除法.如果你想执行真正的除法,你可以这样做(至少有一个操作数必须是实数):

double result = fileSize / 1024.0;
Run Code Online (Sandbox Code Playgroud)

要么:

double result = fileSize / 1024d;
Run Code Online (Sandbox Code Playgroud)

现在结果将包含要在UI上打印的正确值.