Что нового

[Математика] Разделение дроба на части

MockeR

Знающий
Сообщения
101
Репутация
14
Добрый вечер)
Есть десятичная дробь. Нужно из него с помощью регулярных выражений извлечь целую часть, дробную и период.

Например:
Код:
$Number = '14.12(56)'

$Int = 14
$Fract = 12
$Per = 56

:scratch:
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Код:
#Include<Array.au3>
$sText = "14.12(56)"

;$sPatern = "(\d*)[.)(]"
$sPatern = "(\d*)[)(.]?"
$aResult = StringRegExp( $sText, $sPatern, 3 )
_ArrayDisplay($aResult, ' Test Result ')
 
Автор
M

MockeR

Знающий
Сообщения
101
Репутация
14
Спасибо, работает :smile:

Но есть одно "но", если нет периода, то возвращает только целую часть :-X
 
Автор
M

MockeR

Знающий
Сообщения
101
Репутация
14
Вот теперь отлично работает! :ok:
Огромное спасибо=)
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Супер название!
Разделение дроба на части
Бедный, бедный "дроба" :(

MockeR [?]
Нужно из него с помощью регулярных выражений извлечь целую часть, дробную и период.
Ну, когда уже, наконец, научимся правильно формулировать вопросы и выбирать разделы?
Регулярные выражения и прочее



Добавлено:
Сообщение автоматически объединено:

SyDr, пожалуйста, перенесите тему. :thanks:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
У меня этот бедный дроба :smile: и так делится.
Код:
#include <Array.au3>

Dim $aText[4] = ['14.12(56)', '14.12', '14', '14,12+-15(44)']
;$sPattern = '(\d+)'
$sPattern = '\d+'
For $i = 0 To 3
	$aResult = StringRegExp($aText[$i], $sPattern, 3)
	If @error Then ContinueLoop
	_ArrayDisplay($aResult, $aText[$i])
Next
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
madmasles [?]
У меня этот бедный дроба
smiley.gif
и так делится

Действительно, зачем лишние телодвижения.
 
Верх