【发布时间】:2020-05-08 02:41:13
【问题描述】:
我有 4 个例子:
double a = 1.05;
double b = 0.000056;
double c = 0.7812;
double d = 1.2;
我要做的是首先找到有多少个位置值。 在这种情况下
int inta = 2;
int intb = 6;
int intc = 4;
int intd = 1;
然后我想创建一个字符串,其中“0”代表这些数字。这是一个 ToString()
string stra = ".00";
string strb = ".000000";
string strc = ".0000";
string strd = ".0";
所以我唯一的东西就是一个双倍。我需要位置值,然后是如何创建字符串。
【问题讨论】:
-
如何:将数字转换为长度很长的字符串(如 10 个小数位)。然后删除所有前导数字(直到点)。然后删除所有尾随零。
-
@Flydog57 问题在于不同的值
a != b可以具有相同的字符串表示,例如below,即使您查看 17 位(这是可靠有效的最大数量)也会发生这种情况double类型的数字。 -
我在标题中读到了“十进制”,并在我的脑海中出现了
decimal。是的,double无法使用