açılamıyor:
public class Test
{
public static void main(String[] args)
{
System.out.println(Math.ceil(23.46)); // Prints 24
System.out.println(Math.floor(23.46)); // Prints 23
}
}
ben şüpheli ya size veya sen olduğunu düşündüğünü çıktı verilerini yazmıyorsun var giriş verilerini yok. Math.floor
/ceil
kendileri iyi çalışıyor. Aynı değeri döndürecekleri zaman, girdinin zaten bir tamsayı olduğu zamandır. Senin çiftin ayrıştırma hakkında hakkında konuşuyorsun ... Benim hatam orada yatar. Lütfen sorunu gösteren kısa ama eksiksiz bir program gösteriniz.
(Orada kesin hedef tamsayı tam bir double
olarak temsil edilemez çok büyük değerler etrafında diğer senaryolar olabilir - Kontrol etmedim - ama bu burada kesinlikle böyle değil.) Kodu
Eğer math.ceil (23.46) = 23 nasıl aldığını gösteren tekrarlanabilir kod sonrası Lütfen? – smci
bu soruyla ilgili bir şekilde, tavan ve kat, çift hassasiyeti kaybederse aynı değeri basabilir, örneğin System.out.println ("ceil:" + Math.ceil ((1000000000000000000L - 1)/2.0)); System.out.println ("kat:" + Math.floor ((1000000000000000000L - 1)/2.0)); her ikisi de 5.0E17 alacaktır. – Deep