개인 자료란 (JE)

  서버 커뮤니티

Profile windy_wind 대표칭호 없음
Profile

질문하기 스크립트

텍스트에서 소수까지 가져오기

2024.06.09 조회 수 87 추천 수 0
이해도 초보자 
게임버전 (JE) 관련없음, 1.20.1 
게임버전 (BE) 관련없음 
스크립트 버전 2.6.4 
스크립트 애드온 skript-reflect, skbee 

안녕하세요 스크립트 질문입니다.
텍스트를 출력할때 소수점이 3자리 이상인 숫자는 2자리까지 반올림되서 출력되는데 원하는 자리까지 출력이 가능한가요?

예를 들자면

set {_n} to 12.345912
broadcast "%{_n}%" #소수점 둘째까지만 출력됨

근데 저는 소수점자리의 345912까지 출력하고 싶습니다



정리: 임의의 변수 (number타입) {_n}의 값의 소수점 n자리 까지 출력하고 싶으면 어떻게 해야할까요

5개의 댓글

슈퍼레몬
2024.06.09

그 변수를 텍스트 타입으로 변경하시고 출력하면 되죠

windy_wind
2024.06.09
@슈퍼레몬

set {_n} to 10.2305

set {_t} to "%{_n}%"

send {_t} #결과: 10.23으로 나옵니다.

windy_wind
2024.06.09
@windy_wind

그냥 텍스트 형식으로 바꿀때 소수점 둘째짜리까지만 반올림됨

useu
2024.06.09

1.

set {_a} to 1.2345
set {_t::%{_a}%} to true
loop {_t::*}:
    send loop-index

2.

function test(num: number, digit: integer) :: string:
    set {_intPart} to floor({_num})
    set {_decimalPart} to {_num} - {_intPart}
    set {_decimalPart} to floor({_decimalPart} * (10 ^ {_digit}))
    return "%{_intPart}%.%{_decimalPart}%"

3. DecimalFormat 사용 skript-reflect

4. {_n}.toString() 으로 문자열 변환 후 조작 skript-reflect


windy_wind
2024.06.09
@useu

오 형님 감사합니다. 멋지십니다