数値→文字列をstd::to_string関数でなんとかする
std::to_string関数、引数1個しかないので調整効かないのがあれだったがなんとかする。substrでいらんところを削って、小数点はXに置換しておいた。
#include <iostream> #include <string> #include <regex> int main() { const double pi = 3.1415926; std::cout << std::to_string(pi) << std::endl; std::cout << std::to_string(pi).substr(0, 1) << std::endl; std::cout << std::to_string(pi).substr(0, 2) << std::endl; std::cout << std::to_string(pi).substr(0, 3) << std::endl; std::cout << std::to_string(pi).substr(0, 4) << std::endl; std::cout << std::to_string(pi).substr(0, 9) << std::endl; //拡張子をXに置換 std::cout << std::regex_replace(std::to_string(pi), std::regex("\\."), "X") << std::endl; return 0; }
結果
3.141593 3 3. 3.1 3.14 3.141593 3X141593