Я никогда не получал вышеуказанные решения для работы с ящиком, к которому у меня есть доступ. Например, тип был установлен (что делает больше). Поэтому необходима встроенная директива. Эта команда работает для меня:
if [ `builtin type -p vim` ]; then echo "TRUE"; else echo "FALSE"; fi
Потому что вы сказали это.
Из документации setf
на cppreference.com :
научный - генерировать типы с плавающей точкой, используя научная нотация или шестнадцатеричная нотация, если они объединены с фиксированным: см.
blockquote>std::scientific
фиксированные - генерируют типы с плавающей точкой с использованием фиксированной нотации или шестнадцатеричной нотации, если они объединены с научными: см.std::fixed
Итак, при настройке
std::fixed
вам нужно отменитьstd::scientific
(это то, что делает ваше размазываниеstd::floatfield
, потому чтоstd::floatfield
-std::scientific|std::fixed|(std::scientific|std::fixed)|0
), чтобы избежать шестнадцатеричной нотации.