Что нового

Округление числа до целого

Talany

Знающий
Сообщения
136
Репутация
11
Приветствую всех любителей AutoIt!
Подскажите пожалуйста как округлить до целого числа размер HDD

Код:
$oService   = ObjGet('winmgmts:\\.\root\cimv2')
Dim $hard[1][2] = [[0]]
$Hdd = $oService.ExecQuery('SELECT Model, Size FROM Win32_DiskDrive')
If IsObj($oService) Then

    If IsObj($Hdd) Then
        For $Property In $Hdd
			$hard[0][0] += 1
			ReDim $hard[$hard[0][0] + 1][2]
			$hard[$hard[0][0]][0] = $Property.Model  ; Модель жеских дисков 	$hdd[0][0]
			$hard[$hard[0][0]][1] = Round ($Property.Size / 1073741824, -1)            ; Размер жеских дисков $hdd[0][1]
        Next
	EndIf
MsgBox (0, $hard[1][0], $hard[1][1])
EndIf


Допустим у меня hdd1 стоит 160Gb а скрипт выдает 150. Как это исправить? и возможно ли?
Заранее благодарен....
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Talany
Боюсь что у тебя именно 160000000000/1024/1024/1024 ~ 149 ГБ, которая после округления до десятков (а не до целых) даст именно 150
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
Kaster сказал(а):
Talany
Боюсь что у тебя именно 160000000000/1024/1024/1024 ~ 149 ГБ, которая после округления до десятков (а не до целых) даст именно 150

И нечего нельзя придумать чтобы получать 160????
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Talany
Можно, замени в скрипте
Код:
$hard[$hard[0][0]][1] = Round ($Property.Size / 1073741824, -1)            ; Размер жестких дисков $hdd[0][1]

на
Код:
$hard[$hard[0][0]][1] = Round ($Property.Size / 1000000000, -1)            ; Размер жестких дисков $hdd[0][1]

только это самообман. зачем думать что у тебя больше чем есть на самом деле?
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
Благодарю Kaster хоть какойто выход!
 
Верх