Comments 3

Думаю, каким было выражение, все уже догадались.
Да, так оно и есть. Так как хотел показать EGUI, то для демонстрации я работал с f64 и не делал ни каких ухищрений с форматированием {:.10}.
Для тех, кто не догадался :)
Классический пример при работе с f64 `0.1 + 0.2 != 0.3 `
f64 опирается на IEEE 754 и он никак не решает эти неточности. Точнее, тут особенность кроется еще в форматировании. Средство форматирования выводит число из середины диапазона.
Список альтернатив f64, которые мне известны и в которых фиксированная точность (если кто захочет написать свой калькулятор лишенный недостатков).
Как видите, мой список короткий, но если кто-то уже работает с rust для финансовых вычислений и у него есть полюбившийся create, то пожалуйста напишите в комментарии.
Ну да, а вместо <=
можно было бы использовать ←
(Alt+27).
Но цель же не "создать калькулятор", а "научиться самому и/или рассказать другим, как можно создавать приложения для десктопа и WASM используя Rust + Egui/Eframe, автоматически собирать проект с помощью GitHub Actions, и деплоить на GitHub Pages".
То есть с одной стороны — это что-то менее унылое и требующее большего вовлечения, чем типовые демки вида "жмёшь кнопку — число увеличивается на 1" или "To-Do List". А с другой — если вдруг понадобится добавлять новые функции (будь то возведение в степень или перевод между системами счисления), то это будет уже довольно рутинная работа.
Можно ли было сделать этот калькулятор лучше (не меняя имеющейся функциональности)? Да, конечно, причём это касается не только вот таких вот артефактов IEEE-754, но и общего оформления (например, сделать сам калькулятор на панели, которая будет плавать в центре окна/страницы, чтоб пустое место было со всех сторон равномерно). Нужно ли было делать лучше? Сомневаюсь, хотя автору, конечно, виднее.
Пишем простой калькулятор используя фреймворк eframe (egui)