Rumah  >  Artikel  >  hujung hadapan web  >  Kaedah JavaScript Math.ceil (bundarkan nilai)_Pengetahuan asas

Kaedah JavaScript Math.ceil (bundarkan nilai)_Pengetahuan asas

WBOY
WBOYasal
2016-05-16 16:21:141715semak imbas

Kaedah JavaScript Math.ceil
Kaedah Math.ceil digunakan untuk membulatkan nilai, iaitu, untuk mendapatkan integer terkecil lebih besar daripada atau sama dengan nilai. Sintaksnya adalah seperti berikut:

Math.ceil(x)
Perihalan parameter:

参数 说明
x 必需。必须是一个数值。

Petua: Kaedah ini adalah bertentangan dengan kaedah Math.floor.

Instance kaedah Math.ceil

<script language="JavaScript">
document.write( Math.ceil(0.35) + "<br />" );
document.write( Math.ceil(10) + "<br />" );
document.write( Math.ceil(-10) + "<br />" );
document.write( Math.ceil(-10.1) );
</script>

Jalankan contoh ini, output:

1
10
-10
-10

Ralat kaedah Math.ceil?
Cuba jalankan contoh berikut:

c213752d78643de9c16ab108c0325b4f document.write( Math.ceil(2.1/0.7) ); , tetapi 4. Ini jelas bertentangan dengan akal fikiran kita. Adakah ia ralat dalam kaedah Math.ceil?

Situasi sebenar ialah apabila mengira 2.1/0.7, ia diproses sebagai nombor titik terapung. Disebabkan oleh sistem binari, komputer tidak boleh tepat sepenuhnya dengan nombor titik terapung (iaitu, mereka biasanya kehilangan sedikit kemajuan), jadi hasil pengiraan 2.1/0.7 tidak betul-betul sama dengan 3, tetapi lebih sedikit daripada 3 (kira-kira : 3.00000000000000044409) . Jadi selepas menggunakan Math.ceil() pada ungkapan ini, hasilnya ialah 4 .

Mengenai isu fungsi ceil yang tidak tepat, ia juga disebut dalam artikel "Penyelesaian untuk Perbandingan dan Pembundaran Titik Terapung PHP yang Tidak Tepat boleh digunakan dengan mudah dalam fungsi PHP untuk diproses. Walau bagaimanapun, Math.round() dalam JavaScript terlalu kasar, jadi fungsi berasingan mesti ditulis untuk mengendalikan situasi ini, iaitu, keluarkan semua nilai berlebihan selepas 1 titik perpuluhan, dan kemudian gunakan kaedah Math.ceil().

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn