1 (изменено: dvn, 2014-06-10 20:44:25)

Тема: AHK: Отсекание лишних знаков после точки

Доброе время суток!
Еще прошу помощи.

Значение:
Temp=40.000000 (значение может быть 100.000000)
Fuel=35.500000 (тут всегда двузначное число до точки)

После точки всегда одинаковое количество знаков.

Нужно, чтобы значения были в таком виде:
NTemp=40
NFuel=35.5

Заранее спасибо!

p.s. Лишние знаки нужно именно отсечь, а не округлить).

2

Re: AHK: Отсекание лишних знаков после точки

dvn, заголовок должен содержать префикс скриптового языка. Исправьте название темы, отредактировав первое сообщение.

3

Re: AHK: Отсекание лишних знаков после точки

Воспользуйтесь командой SetFormat.

4

Re: AHK: Отсекание лишних знаков после точки

ypppu пишет:

Воспользуйтесь командой SetFormat.

А как? Даже я не знаю, как с помощью SetFormat можно отсечь лишние знаки в типе float.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Отсекание лишних знаков после точки

Temp := 40.000000 ;(значение может быть 100.000000)
Fuel := 35.500000 ;(тут всегда двузначное число до точки)
; После точки всегда одинаковое количество знаков.
; Нужно, чтобы значения были в таком виде:
; NTemp=40
; NFuel=35.5

SetFormat, float, 3.0
NTemp := Temp*1
SetFormat, float, 2.1
NFuel := Fuel*1
MsgBox, NTemp = %NTemp% `r`n NFuel = %NFuel%

6

Re: AHK: Отсекание лишних знаков после точки

А если так:

Temp := 40.000000 ;(значение может быть 100.000000)
Fuel := 35.560000 ;(тут всегда двузначное число до точки)
; После точки всегда одинаковое количество знаков.
; Нужно, чтобы значения были в таком виде:
; NTemp=40
; NFuel=35.5

SetFormat, float, 3.0
NTemp := Temp*1
SetFormat, float, 2.1
NFuel := Fuel*1
MsgBox, NTemp = |%NTemp%| `r`n NFuel = %NFuel%

Получается

NFuel = 35.6

в то время, как

ТС пишет:

p.s. Лишние знаки нужно именно отсечь, а не округлить).

Да и к чему там пробел перед значением NTemp?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Отсекание лишних знаков после точки

Хм, я предположил, что требуется отсекать именно нули. Кому придёт в голову отсекать значимые цифры, боясь при этом округления не в ту сторону?

8

Re: AHK: Отсекание лишних знаков после точки

ypppu пишет:

Хм, я предположил, что требуется отсекать именно нули.

Тогда какой смысл в

p.s. Лишние знаки нужно именно отсечь, а не округлить).

?

ypppu пишет:

Кому придёт в голову отсекать значимые цифры, боясь при этом округления не в ту сторону?

Ну раз вопрос именно так поставлен, то зачем-то нужно, наверное? Пусть dvn разъяснит, если захочет.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder