数値→文字列を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