constructor
Java 9'dan itibaren bu metod deprecate edilor. Double.valueOf() kullanılmalı. Açıklaması şöyle
Şöyle yaparız.
Metodun içi şöyle
Şöyle yaparız.
NaN Alanı
Sonsuz döngü kurmak için şöyle yaparız.
Bu metod da Double.valueOf() metodu gibi Locale sensitive değildir. Türkçe string'i parse edemez.
Örnek
Şöyle yaparız.
Scientific notation ile belirtilen bir string'i parse edebilir. Şöyle yaparız.
Şöyle yaparız.
Sonsuz döngü kurmak için şöyle yaparız.
Örnek
Açıklaması şöyle. Derleyici kodu yukar yuvarlar.
Eğer aynı kodu C ile deneseydik çıktı olarak 0.64469687alırız. GNU C derleyicisi en yakın integer'a çevirmeyi terchi ediyor.
Scientific notation kullanabilir. Açıklaması şöyle
Açıklaması şöyle. Türkçe string'i parse edemez.
Örnek
Şu kod exception fırlatır.
Java 9'dan itibaren bu metod deprecate edilor. Double.valueOf() kullanılmalı. Açıklaması şöyle
The static factory valueOf(double) is generally a better choice, as it is likely to yield significantly better space and time performance.doubleToLongBits metodu
Şöyle yaparız.
Double.doubleToLongBits(1504642224.94664);
intValue metodu
Double değerin int'e cast etmekle aynıdır. Metodun içi şöyle
isFinite metodupublic int intValue() {return (int)value;}
Metodun içi şöyle
public static boolean isFinite(double d) {
return Math.abs(d) <= DoubleConsts.MAX_VALUE;
}
MAX_VALUE AlanıŞöyle yaparız.
double i = Double.MAX_VALUE;
MIN_VALUE Alanı
Sanılanın aksine en küçük eksi sayısı vermez. En küçük artı sayısı verir.
Sanılanın aksine en küçük eksi sayısı vermez. En küçük artı sayısı verir.
Sonsuz döngü kurmak için şöyle yaparız.
double i = Double.NaN;
while (i != i) {}
parseDouble metodu - stringBu metod da Double.valueOf() metodu gibi Locale sensitive değildir. Türkçe string'i parse edemez.
Örnek
Şöyle yaparız.
String str = ...;
try {
double d = Double.parseDouble(str);
} catch(NumberFormatException nfe) {
...
}
Bilimsel yani scientific gösterim şöyledir.3564e-8 //returns 0.00003564
ÖrnekScientific notation ile belirtilen bir string'i parse edebilir. Şöyle yaparız.
double d = Double.parseDouble("4.30000000e01");
ÖrnekŞöyle yaparız.
double d = Double.valueOf("4.30000000e+01");
POSITIVE_INIFINITY AlanıSonsuz döngü kurmak için şöyle yaparız.
double i = Double.POSITIVE_INFINITY;
while (i == i + 1) {}
toString metoduÖrnek
Açıklaması şöyle. Derleyici kodu yukar yuvarlar.
Elimizde şöyle bir kod olsun. Çıktı olarak 0.64469688 alırız.… If the precision is less than the number of digits which would appear after the decimal point in the string returned by Float.toString(float) or Double.toString(double) respectively, then the value will be rounded using the round half up algorithm. Otherwise, zeros may be appended to reach the precision…
import java.lang.Math;
public class RoundExample{
public static void main(String[] args){
System.out.println(String.format("%10.8f",0.644696875));
}
}
Derleyici koddaki sayıyı 8 tane ondalık haneye çevirmek için yukarı yuvarlar.Eğer aynı kodu C ile deneseydik çıktı olarak 0.64469687alırız. GNU C derleyicisi en yakın integer'a çevirmeyi terchi ediyor.
#include <stdio.h>
int main()
{
printf("%10.8f", 0.644696875); //double to string
return 0;
}
ÖrnekScientific notation kullanabilir. Açıklaması şöyle
Double.toString() or System.out.println or FloatingDecimal.toJavaFormatString uses scientific notations if double is less than 10^-3 or greater than or equal to 10^7Görmek için şöyle yaparız.
double myValue = 0.00000021d;
String.format("%s", myvalue); //output: 2.1E-7
Çözmek için şöyle yaparız.double myValue = 0.00000021d;
DecimalFormat df = new DecimalFormat("0",
DecimalFormatSymbols.getInstance(Locale.ENGLISH));
df.setMaximumFractionDigits(340); //340 = DecimalFormat.DOUBLE_FRACTION_DIGITS
System.out.println(df.format(myValue)); //output: 0.00000021
valueOf metoduAçıklaması şöyle. Türkçe string'i parse edemez.
Açıklaması şöyle.Double.valueOf() is not Locale aware. It only understands numbers with dots as decimal places.
Metodun içi şöyleTo interpret localized string representations of a floating-point value, use subclasses of NumberFormat.
public static Double valueOf(double d) {
return new Double(d);
}
Bu metod new Double(...) çağrısına tercih edilmeli.Örnek
Şu kod exception fırlatır.
Double.valueOf("12,3");
Bu kod yerine NumberFormat kullanılır. Şöyle yaparız.NumberFormat format = NumberFormat.getInstance(Locale.FRANCE);
System.out.println(format.format(12.3)); // ==> "12,3"
System.out.println(format.parse("12,3")); // ==> 12.3
Hiç yorum yok:
Yorum Gönder