00001 #include "AtlfastUtils/NumberToString.h" 00002 #include <cmath> 00003 namespace Atlfast{ 00004 std::string numberToString(int intn) { 00005 double main; 00006 char* singleChar; 00007 int asciiNumber; 00008 std::string number; 00009 double remainder; 00010 int digit; 00011 00012 main = static_cast<double>(intn); 00013 00014 while (main >= 1) { 00015 main /= 10; 00016 remainder = (main - static_cast<int>(main)); 00017 00018 digit = static_cast<int>(10*remainder); 00019 if ( fabs( static_cast<double>(digit) - (10*remainder) ) > 0.5 ) digit++; 00020 00021 asciiNumber= digit + 48; 00022 singleChar = ((char*)&asciiNumber); 00023 number.insert(0,singleChar); 00024 main = static_cast<double>(static_cast<int>(main)); 00025 } 00026 if (number == "") number="0"; 00027 return number; 00028 } 00029 00030 }