On Monday, July 12, 2021 at 4:27:37 AM UTC-7 Siniy-Kit wrote:

> Hi!  I use minall[]  in filter,  and sometimes get "infinity" when one of 
> the field values is text (not number) How can I check numbers in filter?  
> (something like is[number]  )


At present, there is no "is[number]" filter.
However, using a bit of clever math, it *is* possible to determine if a 
value is a number:

If you multiply a field value by 1, and get the same value back, then it is 
a number.   Here are some examples:
<$vars value="5"><<value>> is {{{ [<value>multiply[1]match<value>then[a 
number]else[not a number]] }}}<br>
<$vars value="0"><<value>> is {{{ [<value>multiply[1]match<value>then[a 
number]else[not a number]] }}}<br>
<$vars value="foo"><<value>> is {{{ [<value>multiply[1]match<value>then[a 
number]else[not a number]] }}}<br>

Note that using the match<value> test doesn't properly handle values with 
leading or trailing zeros (e.g., "5.00" or "005"
<$vars value="5.00"><<value>> is {{{ [<value>multiply[1]match<value>then[a 
number]else[not a number]] }}}<br>
<$vars value="005"><<value>> is {{{ [<value>multiply[1]match<value>then[a 
number]else[not a number]] }}}<br>
<$vars value="000"><<value>> is {{{ [<value>multiply[1]match<value>then[a 
number]else[not a number]] }}}<br>

A more accurate test would be to use compare:number:eq<value>
<$vars value="5.00"><<value>> is {{{ 
[<value>multiply[1]compare:number:eq<value>then[a number]else[not a 
number]] }}}<br>
<$vars value="005"><<value>> is {{{ 
[<value>multiply[1]compare:number:eq<value>then[a number]else[not a 
number]] }}}<br>
<$vars value="000"><<value>> is {{{ 
[<value>multiply[1]compare:number:eq<value>then[a number]else[not a 
number]] }}}<br>

enjoy,
-e

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/1296971c-8dc2-4edb-9b09-2a78067a00c5n%40googlegroups.com.

Reply via email to