parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

decimal: планируется ли?

virusav 22.08 11:19

Добрый день.
Уже известная проблема с double:
$i1(0.7)
$i2(0.1)
$i3($i1+$i2)
$i4($i3*10)
$i5(0.8)
i1: $i1=>^i1.format[%0.20f]
# 0.7=>0.69999999999999995559
i2: $i2=>^i2.format[%0.20f]
# 0.1=>0.10000000000000000555
i3: $i3=>^i3.format[%0.20f]
# 0.8=>0.79999999999999993339
i4: $i4=>^i4.format[%03d]
# 8=>007

1. ^if($i1+$i2==$i5){TRUE}{FALSE}
# FALSE
2. ^if($i3==$i5){TRUE}{FALSE}
# FALSE
3. ^if(^i1.format[%0.1f]+^i2.format[%0.1f]==$i5){TRUE}{FALSE}
# FALSE
4. ^if($i3 eq $i5){TRUE}{FALSE}
# TRUE
Если $i1(0.5), а $i5(0.6), то все 4 условия выдадут TRUE.
Т.е. если попал не на те числа, то сам дурак.)

Планируется ли добавление типа decimal (или изменение double), чтобы можно было работать с точными данными из коробки?