<分区>
我在我们使用的其中一个框架中发现了以下代码,
if (nValue + 0.01 > nLimit)
nValue = nValue - 0.01;
if (((nValue+1) / (int)(nValue+1)) == 1)
sprintf(szValue, "%0.0f", nValue);
else
sprintf(szValue, "%0.2f", nValue);
这段代码是什么意思
<分区>
我在我们使用的其中一个框架中发现了以下代码,
if (nValue + 0.01 > nLimit)
nValue = nValue - 0.01;
if (((nValue+1) / (int)(nValue+1)) == 1)
sprintf(szValue, "%0.0f", nValue);
else
sprintf(szValue, "%0.2f", nValue);
这段代码是什么意思
最佳答案
假设代码正在处理存储在 float 中的金额,如果该值超过特定限制,第一个 IF 将从 nValue 中减去 1 美分。如果没有更多上下文,我不能说任何有关目的的信息。
第二个 block 处理(笨拙地)显示一个没有小数位的值,如果它是一个直接的“美元”金额,以及其他有两位小数的值。
关于c++ - 这段代码是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3253590/