我有一个值存储在数据库中,带有隐含的小数。例如1234是12.34,456是4.56。
不幸的是,由于隐含的十进制列周围的代码量,在当前请求下,将数据库的隐含小数更改为实际小数是不可行的。
我遇到的问题是将隐含的十进制转换为本地计算机上的“实际”小数,但在部署到我们的下一个环境时却不行。
我环境中的<9> 9999正确转换为99.99,但在我们的下一个环境中,它会转换为99.9899978637695。这是我正在使用的代码:
public string FormatForDisplay(string valueFromDb)
{
double convertedNumber;
double.TryParse(valueFromDb, out convertedNumber);
return ConvertImpliedDecimalToPercent(convertedNumber).ToString();
}
public double ConvertImpliedDecimalToPercent(double convertedNumber)
{
return convertedNumber / 100;
}
我无法在本地重现此问题,因此我不确定如何测试它是否已修复。我想我的问题是为什么会发生这种情况,有没有办法解决它?