相关疑难解决方法(0)

如何在C#中获得超过100个十进制数字?

是否有可能在C#中获得超过100个十进制数字?

如果是,那么代码的必要部分是什么?

在Java中有一些调用,BigDecimal但它仍然不能达到超过55位数.

.net c# bigdecimal

13
推荐指数
1
解决办法
4048
查看次数

C#中的BigInteger部门

我正在编写一个需要在C#中准确划分BigInteger类的类.

例:

BigInteger x = BigInteger.Parse("1000000000000000000000000000000000000000000000000000000000000000000000000000000000000");
BigInteger y = BigInteger.Parse("2000000000000000000000000000000000000000000000000000000000000000000000000000000000000");

x /= y;

Console.WriteLine(x.ToString());

//Output = 0
Run Code Online (Sandbox Code Playgroud)

问题是作为一个整数,自然它不包含十进制值.我怎样才能克服这一点,得到0.5的实际结果(给出的例子).

PS解决方案必须能够准确地划分任何BigInteger,而不仅仅是示例!

.net c# biginteger division

11
推荐指数
2
解决办法
5258
查看次数

C#中有BigFloat类吗?

System.Numerics.BigInteger允许你将大整数相乘,但浮点数是否有相同类型的东西?如果没有,我可以使用免费图书馆吗?

//this but with floats
System.Numerics.BigInteger maxint = new BigInteger(int.MaxValue);

System.Numerics.BigInteger big = maxint * maxint * maxint;
System.Console.WriteLine(big);
Run Code Online (Sandbox Code Playgroud)

c# numeric bigfloat

9
推荐指数
1
解决办法
7860
查看次数

Java中的双增量

可能重复:
如何在Java中以0.1f的增量在0.1f和1.0f之间进行迭代?

我的程序的一部分需要在while循环中使用值:

0.1

0.2

0.3

...

0.9

所以我需要在循环中提供它们.这是代码:

double x = 0.0;
while ( x<=1 )
{
// increment x by 0.1 for each iteration
x += 0.1;
}
Run Code Online (Sandbox Code Playgroud)

我需要输出完全正确:

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

但它实际上给了我一些类似的东西:

0.1

0.2

0.300000000000000000000000004

0.4

0.5

0.6

0.79999999999999999999999999

0.89999999999999999999999999

0.99999999999999999999999999

java double rounding

7
推荐指数
1
解决办法
2万
查看次数

C#中的任意精度小数

可能的重复:
C#C#中的大整数
没有java的无限有效十进制数字(任意精度)

在C#中任意精度小数读出了这个问题但是我没有J#库.我需要一个使用C#的任意精度小数的库.

c# j# math precision decimal

6
推荐指数
2
解决办法
1万
查看次数

如何处理大于double的最大值的浮点值

我的值大于1.97626258336499E-323

我也不能使用BigInteger,因为它只处理整数值

任何帮助表示赞赏

以下是一些用户给出的解决方案失败的代码也失败了:

BigValue / (Math.Pow((1 + ret), j));
Run Code Online (Sandbox Code Playgroud)

这个BigValue就像15000.25

ret是-0.99197104212554987

j将大约500-600.

我也没有想到如何使用Rational Class

.net c# math bigdecimal

6
推荐指数
1
解决办法
1705
查看次数

如何在C#中将BigInteger变为pow Double?

我试图使用BigInteger.Pow方法计算像10 ^ 12345.987654321这样的东西但这个方法只接受整数作为指数,如下所示:

BigInteger.Pow(BigInteger x,int y)

那么如何在上面的方法中使用双数作为指数?

c# math biginteger

3
推荐指数
1
解决办法
2786
查看次数

C#的十进制类型会计安全吗?

读到Decimal类型的范围为(-7.9 x 10 ^ 28到7.9 x 10 ^ 28)/(10 ^ 0到10 ^ 28),并且它"适合于财务和货币计算".

我似乎无法找到说,十进制可以代表一个源到每一分钱,从(79,000,000,000,000,000,000,000,000,000.00 $)的所有值$ 79,000,000,000,000,000,000,000,000,000.00.

Decimal是一个128位类型,128位可以代表从-10 ^ 38到10 ^ 38的每一分钱.但是我不知道Decimal是如何实现的,因此floats可能会有一分钱的精度损失,数字从0开始越远.

c# types decimal

2
推荐指数
1
解决办法
310
查看次数

C#Double Rounding

我正在研究一个程序并将我的java代码转换为c#.但我遇到了一些麻烦.

public double round(double value){
        BigDecimal b = new BigDecimal(value);
        b = b.setScale(2,BigDecimal.ROUND_UP);
        return (b.doubleValue());
    }
Run Code Online (Sandbox Code Playgroud)

我写了这个转换代码,但我不能将它转换为c#.BigDecimal类型导致一些问题,我对.Net来说是全新的.无限期需要一些帮助.

编辑:好吧,我得到了,抱歉这个愚蠢的问题.

c# java double

1
推荐指数
1
解决办法
1776
查看次数

在C#中舍入到超过15个小数位

Math.Round(decimal d, int decimals)在C#中使用将小数舍入到指定的小数位数.我可以舍入 15位小数,但是当我尝试舍入到16时,例如,我得到以下异常:

mscorlib.dll中出现未处理的"System.ArgumentOutOfRangeException"类型的异常附加信息:舍入数字必须介于0和15之间(包括0和15).

是否有任何方法可以舍入到更高的小数位数,也许没有使用Math.Round

为了给出更多问题的背景知识,我正在计算非理性数学常数,例如'pi'和'e',并让用户指定要计算的小数位数.用于检查值和先前值是否与给定精度相同的布尔值如下:

Math.Round(valuePrevious, decPlaces) == Math.Round(valueCurrent, decPlaces)
Run Code Online (Sandbox Code Playgroud)

c# math rounding

0
推荐指数
1
解决办法
2290
查看次数

标签 统计

c# ×9

math ×4

.net ×3

bigdecimal ×2

biginteger ×2

decimal ×2

double ×2

java ×2

rounding ×2

bigfloat ×1

division ×1

j# ×1

numeric ×1

precision ×1

types ×1