<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.czzzz.work/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E6%9D%BF%3APrecision%2Fdoc</id>
	<title>模板:Precision/doc - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.czzzz.work/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E6%9D%BF%3APrecision%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Precision/doc&amp;action=history"/>
	<updated>2026-04-21T15:05:43Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Precision/doc&amp;diff=1851&amp;oldid=prev</id>
		<title>Santorsia：​导入1个版本</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Precision/doc&amp;diff=1851&amp;oldid=prev"/>
		<updated>2022-09-18T14:07:30Z</updated>

		<summary type="html">&lt;p&gt;导入1个版本&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2022年9月18日 (日) 22:07的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;zh-Hans-CN&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;（没有差异）&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key yuuniwiki:diff:1.41:old-1850:rev-1851 --&gt;
&lt;/table&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Precision/doc&amp;diff=1850&amp;oldid=prev</id>
		<title>wikipedia&gt;Vanisaac：​/* See also */clean up per WP:CAT#T and WP:AWBREQ add template:Sandbox other</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Precision/doc&amp;diff=1850&amp;oldid=prev"/>
		<updated>2020-04-26T20:14:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;See also：​&lt;/span&gt;clean up per &lt;a href=&quot;/index.php?title=WP:CAT&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:CAT（页面不存在）&quot;&gt;WP:CAT#T&lt;/a&gt; and &lt;a href=&quot;/index.php?title=WP:AWBREQ&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:AWBREQ（页面不存在）&quot;&gt;WP:AWBREQ&lt;/a&gt; add template:Sandbox other&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
&amp;lt;!-- PLEASE ADD CATEGORIES AT THE BOTTOM OF THIS PAGE --&amp;gt;&lt;br /&gt;
{{high-risk| 227851 }}&lt;br /&gt;
{{lua|Module:Math}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Template:Precision&amp;#039;&amp;#039;&amp;#039; determines the precision (as a count of decimal digits) for any amount, large or negative, using a fast algorithm. It can also handle a trailing decimal point (such as &amp;quot;15.&amp;quot; or &amp;quot;-41.&amp;quot;) or trailing zeroes (such as &amp;quot;15.34000&amp;quot; having precision as 5 decimal digits). For fractional input it returns the base ten logarithm of the numerator.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111.123456789}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111.123456789}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111.12345678}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111.12345678}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111.1234567}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111.1234567}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111.123456}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111.123456}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111.12345}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111.12345}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.12345678}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || {{Precision|1111111111.12345678}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.1234567}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;  || {{Precision|1111111111.1234567}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.123456}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;   || {{Precision|1111111111.123456}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.12345}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;    || {{Precision|1111111111.12345}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.1234}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111111111.1234}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.123}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111111111.123}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.12}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111111111.12}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111111111.1}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.10}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111111111.10}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.100}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111111111.100}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.1000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111111111.1000}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111.10000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;    || {{Precision|1111111111.10000}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111111}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111111111}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111110}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111111110}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111100}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111111100}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111111000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111111000}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111110000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111110000}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111100000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111100000}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1111000000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1111000000}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1110000000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1110000000}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1100000000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;	  || {{Precision|1100000000}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|0}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;			  || {{Precision|0}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;			  || {{Precision|1}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|22.45}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;		  || {{Precision|22.45}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|22.12345}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;		  || {{Precision|22.12345}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|22}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;		  || {{Precision|22}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|22000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;		  || {{Precision|22000}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|-15.275}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;		  || {{Precision|-15.275}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|-15.2500}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;		  || {{Precision|-15.2500}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|23000222000111.432}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;  || {{Precision|23000222000111.432}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|-15.123}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;		  || {{Precision|-15.123}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|0.09}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;		  || {{Precision|0.09}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|0.88}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;		  || {{Precision|0.88}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|880000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;		  || {{Precision|880000}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Precision|90000000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;		  || {{Precision|90000000}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
* For numbers in scientific notation, the precision is typically returned as too low by 1 decimal place. Example: &amp;lt;nowiki&amp;gt;{{precision |7.1234E+06}}&amp;lt;/nowiki&amp;gt; &amp;amp;rarr; {{precision|7.1234E+06}} (should be precision as 4 decimal digits, not 3).&lt;br /&gt;
&lt;br /&gt;
===Technical notes===&lt;br /&gt;
*NOTE A1: This template determines the precision of decimals by counting the length of the numeric string (in a #switch comparing lengths of padded strings), then subtracting integer length, minus the decimal point, and minus 1 if negative. For integers, 1 place is subtracted for each trailing 0 on the integer. For fractions, any prior count is cleared x 0, then returns the base ten logarithm of denominator: (..prior...)*0 + (ln denom / ln 10).&lt;br /&gt;
*NOTE D2: The check, for whole integers, compares the amount versus appending &amp;quot;0&amp;quot; at the end: when the amount is a decimal, then the value is unchanged by appending 0 at the end: so 5.23 = 5.230 is true, whereas for whole integers, it would be: 5 = 50 as false, due to values becoming n*10 for integer n. So, for integer n, the check rejects: n = n0 as false; hence n is integer.&lt;br /&gt;
*NOTE M3: The magnitude of the integer portion is calculated by logarithm of the floor of absolute value (divided by [[natural logarithm]] of 10 to adjust for e=2.71828*), as: ln (floor( abs({{{1|-0.050067}}}) )+0.99 )/ln10 Function floor(x) trims the decimal part, to leave the whole count: 0-9 yield 0, 10-19 as 1, 1000-1999 as 3. The abs(x) avoids floor of negatives, floor(-0.1)= -1, hence using abs(x) ensures -0.1 floors to 0 not -1. Near zero, the +0.99 avoids invalid log of 0, but does not round-up any decimals, already floored as nnn.00. Complexity is 6 operations: floor of abs( {1} ) +0.99 then log&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;&amp;#039;&amp;#039;x&amp;#039;&amp;#039; (ln&amp;#039;&amp;#039;x&amp;#039;&amp;#039; ÷ ln10), then floor that logarithm ratio. Decimals -1 &amp;lt; x &amp;lt; 1 yield -1, avoiding log 0.001 = -3.&lt;br /&gt;
*NOTE N4: Nesting of if-else and nested templates is kept to a minimum, due to the MediaWiki 1.6 limit of 40 levels of if-logic for all nested templates used together. Template {ordomag} was omitted to avoid 2 more levels of nested templates. Template {Precision} had 8 levels, and this template was trimmed to only 5 levels.&lt;br /&gt;
*NOTE S5: The #switch is run with &amp;quot;x&amp;quot; prepended in front of the amount, otherwise a #switch will compare as numeric where &amp;quot;2&amp;quot; would match &amp;quot;2.0&amp;quot; even though &amp;quot;2&amp;quot; is length 1 so &amp;quot;x2&amp;quot; no longer matches with &amp;quot;x2.0&amp;quot; as non-numeric. The #switch will exit on the first match, so smaller lengths are compared first, to avoid extra comparisons for more rare, longer numeric strings up to 41 long.&lt;br /&gt;
*NOTE W6: The check for integers with whole end-zeroes uses typical n=n/10*10, for each power of 10, where whole millions match: &amp;lt;nowiki&amp;gt;{{#ifexpr: {1}=floor( {1}/1E6 )*1E6| }}&amp;lt;/nowiki&amp;gt; Previously, {Precision} had tried to use &amp;quot;round&amp;quot; to detect end-zeroes but &amp;quot;round&amp;quot; loses precision at -5, so, n00000 round -5 differs from n00000 slightly, and comparisons to exact rounded amounts failed to match some numbers when 6 or more zeroes &amp;quot;n000000&amp;quot;.&lt;br /&gt;
*NOTE Z7: The check on zero for any .00000 compares adding 1 to the amount, versus appending &amp;quot;1&amp;quot; at the end: if the amount is a decimal, then adding 1 will be larger than appending 1 at the end: 0.00 + 1 &amp;gt; 0.001, whereas for whole zero, it would be: 0+1 &amp;gt; 01 as false, due to the value being the same. So, for integer 0, the check rejects: 0+1 &amp;gt; 01 as false; hence whole 0 is integer.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Significant figures]]&lt;br /&gt;
{{Math templates|functions}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- CATEGORIES HERE, THANKS --&amp;gt;&lt;br /&gt;
[[Category:Mathematical function templates]]&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>wikipedia&gt;Vanisaac</name></author>
	</entry>
</feed>