Templat ini digunakan dalam 227,851 laman. Untuk mengelakkan gangguan yang besar dan beban pelayan yang tidak diperlukan, perubahan kepada templat ini seharusnya hendaklah diuji di sublaman /kotak pasir atau /ujian templat ini, ataupun dalam atau di dalam sublaman pengguna. Perubahan yang sudah dicuba bolehlah ditambahkan dengan satu suntingan ke dalam templat ini. Sila bincangkan perubahan-perubahan tersebut terlebih dahulu pada laman perbincangan sebelum melaksanakannya.
Templat:Precision menentukan ketepatan (sebagai kiraan digit perpuluhan) untuk jumlah apa pun, besar atau negatif, menggunakan algoritma pantas. Ia juga dapat mengatasi titik perpuluhan (seperti "15." atau "-41.") atau sifar belakang (seperti "15.34000" mempunyai ketepatan sebagai 5 digit perpuluhan). Untuk input pecahan, ia mengembalikan logaritma asas sepuluh pengangka.
Contoh
{{Precision|1111.123456789}}
9
{{Precision|1111.12345678}}
8
{{Precision|1111.1234567}}
7
{{Precision|1111.123456}}
6
{{Precision|1111.12345}}
5
{{Precision|1111111111.12345678}}
8
{{Precision|1111111111.1234567}}
7
{{Precision|1111111111.123456}}
6
{{Precision|1111111111.12345}}
5
{{Precision|1111111111.1234}}
4
{{Precision|1111111111.123}}
3
{{Precision|1111111111.12}}
2
{{Precision|1111111111.1}}
1
{{Precision|1111111111.10}}
2
{{Precision|1111111111.100}}
3
{{Precision|1111111111.1000}}
4
{{Precision|1111111111.10000}}
5
{{Precision|1111111111}}
0
{{Precision|1111111110}}
-1
{{Precision|1111111100}}
-2
{{Precision|1111111000}}
-3
{{Precision|1111110000}}
-4
{{Precision|1111100000}}
-5
{{Precision|1111000000}}
-6
{{Precision|1110000000}}
-7
{{Precision|1100000000}}
-8
{{Precision|0}}
0
{{Precision|1}}
0
{{Precision|22.45}}
2
{{Precision|22.12345}}
5
{{Precision|22}}
0
{{Precision|22000}}
-3
{{Precision|-15.275}}
3
{{Precision|-15.2500}}
4
{{Precision|23000222000111.432}}
3
{{Precision|-15.123}}
3
{{Precision|0.09}}
2
{{Precision|0.88}}
2
{{Precision|880000}}
-4
{{Precision|90000000}}
-7
Pepijat yang dikenali
Untuk nombor dalam notasi ilmiah, ketepatan biasanya dikembalikan terlalu rendah dengan tempat 1 perpuluhan. Contoh: {{precision |7.1234E+06}} → -2 (haruslah tepat dengan 4 digit perpuluhan, bukan 3).
Nota teknikal
NOTA A1: Templat ini menentukan ketepatan perpuluhan dengan mengira panjang rentetan angka (dalam #switch membandingkan panjang tali berlapis), kemudian tolak panjang integer, tolak titik perpuluhan, dan tolak 1 jika negatif. Untuk integer, 1 tempat dikurangkan untuk setiap jejak 0 pada integer. Untuk pecahan, mana-mana kiraan sebelum dibersihkan x 0, kemudian mengembalikan logaritma asas sepuluh penyebut: (..sebelumnya...)*0 + (Dalam denom / Dalam 10).
NOTA D2: Pemeriksaan, untuk integer, membandingkan jumlahnya dengan tambahan "0" pada akhir: apabila jumlahnya adalah perpuluhan, maka nilainya tidak berubah dengan menambahkan 0 pada akhir: jadi 5.23 = 5.230 adalah benar, manakala bagi keseluruhan integer, ia akan menjadi: 5 = 50 sebagai salah, kerana nilai (value) menjadi n*10 untuk integer n. Jadi, untuk integer n, semakan menolak: n = n0 sebagai salah; oleh itu n adalah integer.
NOTA M3: Magnitud bahagian integer dikira dengan logaritma aras nilai mutlak (dibahagikan dengan logaritma asli daripada 10 untuk disesuaikan e=2.71828*), sebagai: ln (aras( abs(-0.050067) )+0.99 )/ln10 Aras fungsi(x) memangkas bahagian perpuluhan, untuk meninggalkan keseluruhan kiraan: 0-9 menghasilkan 0, 10-19 sebagai 1, 1000-1999 sebagai 3. abs(x) mengelakkan aras negatif, aras(-0.1)= -1, oleh itu menggunakan abs(x) memastikan -0.1 aras hingga 0 bukan -1. Hampir sifar, +0.99 mengelakkan log 0 yang tidak sah, tetapi tidak membundarkan perpuluhan, sudahpun melaras sebagai nnn.00. Kerumitan adalah operasi 6: aras abs( {1} ) +0.99 kemudian log10x (lnx ÷ ln10), kemudian aras nisbah logaritma. Perpuluhan -1 < x < 1 menghasilkan -1, mengelakkan log 0.001 = -3.
NOTA N4: Penyediaan templat if-else dan nested dikurangkan minimum, kerana had MediaWiki 1.6 40 tahap jika-logik untuk semua templat nested yang digunakan bersama. Templat {ordomag} dihilangkan untuk mengelakkan 2 lagi templat nested. Templat {Precision} mempunyai 8 tahap, dan templat ini dipangkas menjadi 5 tahap sahaja.
NOTA S5: #switch dijalankan dengan "x" ditambahkan di hadapan jumlah, jika tidak #switch akan dibandingkan sebagai angka di mana "2" akan sepadan dengan "2.0" walaupun "2" adalah panjang 1 jadi "x2" tidak lagi sesuai dengan "x2.0" sebagai bukan-angka. #switch akan keluar pada perlawanan pertama, jadi panjang yang lebih kecil dibandingkan terlebih dahulu, untuk mengelakkan perbandingan tambahan bagi rentetan angka yang lebih jarang dan panjang sehingga 41 panjang.
NOTA W6: Pemeriksaan integer dengan bilangan sifar akhir biasa digunakan n=n/10*10, untuk setiap kekuatan 10, di mana jutaan keseluruhan sepadan: {{#ifexpr: {1}=aras( {1}/1E6 )*1E6| }} Sebelumnya, {Precision} telah cuba menggunakan "bulat" untuk mengesan akhir sifar tetapi "bulat" kehilangan ketepatan pada -5, jadi, n00000 bulat -5 berbeza daripada n00000 sedikit, dan perbandingan dengan jumlah bulat yang tepat gagal menandingi beberapa nombor ketika 6 atau lebih sifar "n000000".
NOTA Z7: Pemeriksaan sifar untuk 0,00000 membandingkan penambahan 1 pada jumlahnya, berbanding menambahkan "1" pada akhir: jika jumlahnya adalah perpuluhan, kemudian menambahkan 1 akan lebih besar daripada menambahkan 1 pada akhir: 0.00 + 1 > 0.001, sedangkan untuk keseluruhan sifar, akan menjadi: 0 + 1> 01 sebagai salah, kerana nilainya sama. Jadi, untuk bilangan bulat 0, semakan menolak: 0 + 1> 01 sebagai salah; oleh itu keseluruhan 0 adalah integer.