скидка была пропорциональна ценеСоблюдается, за счёт умножения на количество товара.
Никогда не должно быть 100% скидкиСоблюдается, скидки либо нет, либо она больше 100%, но никогда не равна 100%.
<calendar>
<years>
<year days="4">
<year days="6">
<year days="1">
</years>
<months>
<month days="2">
<month days="4">
<month days="5">
</months>
<weeks>
<week days="1">
<week days="2">
<week days="2">
<week days="2">
<week days="2">
<week days="2">
</weeks>
</calendar>
print PHP_INT_MAX;
9223372036854775807
То есть, все числа, большие этого значения, преобразуются в вещественные с потерей точности. Либо сразу используйте строку $a = '10044232471141200000';
, либо библиотеку высокой точности GMP.