나는 숫자에 스팅으로 저장되어 있습니다. "2,65424.00"
플로트 번호 2,65424.00
으로 변환하고 형식을 유지하는 방법이 있습니까?숫자를 유지하는 루비 문자열
답변
integer의 경우 string.to_i
또는 float의 경우 string.to_f
으로 문자열 개체를 변환 해보십시오.
흠, 네 말이 맞아 ..하지만 OP를 도와주지 마라. :) –
아니요, 내부 표현은 이와 같이 변경할 수 없습니다. Float
및 Fixnum
에 대해 to_s
메서드를 작성하려면이 방법에 접근하는 유일한 방법입니다. 예를 들어 :
class Float
def to_s
# your formatting: sprintf("...", self)
end
end
당신이 다음 다음 플로트로 Fixnum이라는를 변환 할 수 Fixnum이라는에서 같은 표현을 얻을 싶지 때문에
는 플로트의to_s
방법에
to_s
방법을 기반으로. 내 마음에
"When you write it like this #{265424}"
=> "When you write it like this 2,65424.00"
이 적절한 방법입니다 :
class Fixnum
def to_s
self.to_f.to_s
end
end
이렇게하면
265424.to_s
=> "2,65424.00"
, 또는 보간을 사용할 때 플로트에 to_s
전화를 통해 표현을 얻을 왜냐하면 당신은 당신의 숫자를 개별적으로 표현하기를 원하기 때문입니다. 괜찮습니다.하지만이 개별적인 표현은 문자열 수준에서 구현되어야합니다. 왜냐하면 여러분이 형성을 통해 멋지게 표시하고 싶다면 문자열이 무엇인지에 대한 것이기 때문입니다.
또한이 원숭이 패치 방식을 사용하는 것은 의문 스러울 수 있습니다. 도서관을 제공 할 것인지 여부에 따라 달라질 수 있습니다. 숫자를 가져 와서 서식이 지정된 전용 형식 방법을 설계하면 좋을 수도 있습니다.
You can not save float value with ',' as a delimiter in mysql
당신이 수에 대한 특이한 형식입니다
"2,65424.00".gsub(',', '').to_f # 265424.0
그게 사실이야. '% .2f'% '2,65424.00'.delete (', '). to_f 이것을 사용할 수도 있습니다. –
- 1. pylab.semilogy 숫자를 유지하는 방법?
- 2. 숫자를 구문 분석하여 레일에 루비
- 3. 루비 환경을 유지하는 루비 보석을 찾으십시오.
- 4. 숫자를 n 이하로 유지하는 방법
- 5. 루비 문자열
- 6. 루비 문자열
- 7. 루비 문자열
- 8. 간단한 루비 정규식 JSON 문자열
- 9. 숫자를 계산할 문자열 파싱
- 10. 숫자를 문자열 표현으로 변환
- 11. 문자열 가운데 숫자를 늘리십시오.
- 12. 그래프에서 x 축에 숫자를 유지하는 방법
- 13. 소수 이후에 가변적 인 숫자를 유지하는 방법
- 14. 숫자를 제거하고 도트 뒤에 나머지를 유지하는 방법
- 15. 루비 구문 분석 문자열
- 16. 루비 한자 문자열 문제
- 17. 루비 꽤 인쇄 문자열
- 18. 루비 : 문자열 보간
- 19. 루비 문자열 변수? (배열)
- 20. 쓰기 루비 코드를 문자열
- 21. 루비 형식 문자열
- 22. 문자열 리터럴을위한 루비 'OR'
- 23. 루비 코드 + 문자열
- 24. 루비 문자열 파티션
- 25. 루비 문자열 조작
- 26. 내가 가진 문자열 루비
- 27. 루비 : 이미 포맷 문자열
- 28. 는 루비 문자열
- 29. 루비 문자열 지수는 같은
- 30. 이상한 루비 문자열 선택
를 다음과 같이 뭔가를 할 수 그러나. 질문은 약간 혼란 스럽습니다. 정교하게 말하면 좋겠습니까? 데이터가 어디에서 왔는지, 어디에서 표시 할 것인지 설명 할 수 있습니까? 이 값을 숫자로 사용하려면 수학 연산을 수행하고 싶습니까 (이 경우 정확하게 표시 할 수는 없습니다). 루비 숫자는 저장된 형식을 포함하지 않지만 형식을 표시하는 데는 여러 가지 방법이 있습니다. 그러나 따옴표없이 문자열을 표시하는 것은 매우 쉬운 일입니다. 그냥'puts' ('s'는 당신의 문자열)입니다. –
아니요. '2,65424.00'은 유효한 Ruby 표현식이 아닙니다. 즉, 그러한 Ruby 객체는 존재하지 않습니다. 그러므로 문자열을 그런 것으로 변환 할 방법이 없습니다. – sawa