C언어,ARM
숫자 문자열에서 소수점이하 쓸모없는 0지우는 함수
안녕1999
2020. 9. 19. 23:26
소수점이하 0이라도, 필요한 경우도 있다. 예) 0.000001 => 0.00 //소수점이하가 모두 0이 아닌경우, 소수점이하 0을 모두 표시해준다.(경우에 따라서는 필요하다) "1.0000000" => "1" "1.5000000" => "1.5" char *number_str_del_right_dot_zero(char *number)//소수점이 없는 경우0, 아니면, 마지막 숫자의 포인터 리턴 { char *p = number + strlen(number); p = strrchr(number, '.');//소숫점이 있는 경우 if (p) { p = p + strlen(p)-1; while (p > number) { if (*p == '0') { *p = 0; } else if (*p == '.') { *p = 0;//소수점은 지우고 리턴 break; } else { break; } p--; } } else { //소수점이 없다. } return p; }