FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

P2 wie mach ich in Java einen Biginteger

P2 wie mach ich in Java einen Biginteger 2005-04-29 10:15
Connor
Es gibt in etwa ne Funktion
BigInteger(String val)
ich will, dass
x = BigInteger(String 0.1);
ist, aber kommen da Meldung wie ) expected

Re: P2 wie mach ich in Java einen Biginteger 2005-04-29 10:32
UncleOwen
Das ist keine Funktion, sondern ein Konstruktor und muss dementsprechend zusammen mit new verwednet werden.

Re: P2 wie mach ich in Java einen Biginteger 2005-04-29 12:05
Muelli
So wie du es beschreibst, müsstest du
BigInterger x = new BigInteger("0.1");machen. Es würde mich aber wundern, wenn das ginge, da die Klasse ja BigInteger heißt.
Versuch es mal mit BigDecimal(BigInteger, int);
In der API findest du diesen Konstruktor aufruf und auch Infos zu Biginteger (die du brauchen wirst…)

Re: P2 wie mach ich in Java einen Biginteger 2005-04-29 13:46
Fred
In der API findest du diesen Konstruktor aufruf und auch Infos zu Biginteger (die du brauchen wirst…)
Noe, es gibt auch BigDecimal(String).

Re: P2 wie mach ich in Java einen Biginteger 2005-05-01 14:31
Connor
import java.math.BigInteger;
public class Bigfloat
{
private BigInteger _biginteger;
private BigInteger _zwischensumme;
public float x;

public float testFloat()
{
_biginteger = new java.math.BigInteger("0.1");
_zwischensumme = new java.math.BigInteger("0.0");
for (int i=0;i<10;i++)
{
_zwischensumme.add(_biginteger);
}
x= _zwischensumme.floatValue();
return x;
}
}


java.lang.NumberFormatException: For input string: ".1"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.math.BigInteger.<init>(BigInteger.java:314)
at java.math.BigInteger.<init>(BigInteger.java:447)
at Bigfloat.testFloat(Bigfloat.java:17)

Was soll ich da bitte machen???


Re: P2 wie mach ich in Java einen Biginteger 2005-05-01 14:36
guiltyguy
Benutz mal BigDecimal statt BigInteger

Und das "add" ist so ähnlich wie Plus, du musst also einen Wert zuweisen, z.B.:

_zwischensumme = _biginteger.add(_biginteger);

EDIT:
Noch was, du solltest als Wert einen String liefern, schließlich machst du mit einem Float den Sinn des BigDecimals wieder zunichte

Re: P2 wie mach ich in Java einen Biginteger 2005-05-01 15:03
Connor
aja was solln das tolles. Danke für die hilfe mit BigDecimal gehts

Re: P2 wie mach ich in Java einen Biginteger 2005-05-01 18:45
chris
Was das soll? 0.1 ist halt keine Ganzzahl…