0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 3
1

Проверка чисел на правильность

30.11.2010, 17:51. Показов 1260. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Давно искал нечто мне подходящее и ... Пришлось самому. Может пригодиться или будут варианты улучшения.
На выходе только цифры, без разделителей тысяч, а десятичный точка.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<script language='javascript'>
var avalsym='0123456789'
var tmpstring = ''
var lastcomma = 0;
var lastpoint = 0;
var laststop = 0;
var tmpvalue = ''
 
function recalcSumma(summa) {
    tmpstring = summa;
    lastcomma = tmpstring.lastIndexOf(',');
    lastpoint = tmpstring.lastIndexOf('.');
    laststop = (lastpoint<lastcomma) ? lastcomma : lastpoint;
    tmpvalue = ''
    for (i=0;i<tmpstring.length;i++) {
        tmpchar=tmpstring.charAt(i);
        if (avalsym.indexOf(tmpchar)!=-1) {
                tmpvalue=tmpvalue+tmpchar;
            } else {
                if ((tmpchar=='.' || tmpchar==',') && i==laststop) {
                    tmpvalue=tmpvalue+'.'   
                }
        }
    }
    return ((tmpvalue>0) ? tmpvalue*1 : tmpvalue);
}
</script>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2010, 17:51
Ответы с готовыми решениями:

Проверка на правильность ответа
Подскажите, как сделать, чтобы этот скрипт выводил в окно при выборе ответов и нажатии кнопки ...

Проверка кода на правильность и элегантность
Я прямо чувствую что написал костыль Условие : Напишите функцию range, принимающую два аргумента...

Проверка на правильность заполнения поля
Помогите, как сделать так, чтобы если пользователь не ввёл слово в текстовое поле и нажал кнопку...

Проверка на правильность введенного email адреса
проверяю при отправке формы текстовое поле на правильность введенного адреса электронной почты....

5
3 / 3 / 6
Регистрация: 20.06.2010
Сообщений: 580
01.12.2010, 12:45 2
Примерное тоже самое :
Javascript
1
2
function recalcSumma(summa) {
return ((/./.test(summa)) ? (summa.split('.')[0].replace(/[D]/g, '') + '.' + summa.split('.')[1].replace(/[D]/g, '')) : summa.replace(/[D]/g, ''));
0
3 / 3 / 6
Регистрация: 20.06.2010
Сообщений: 580
01.12.2010, 12:52 3
а правильнее
Javascript
1
2
function recalcSumma(summa) {
return 1*((/./.test(summa)) ? (summa.split('.')[0].replace(/[D]/g, '') + '.' + summa.split('.')[1].replace(/[D]/g, '')) : summa.replace(/[D]/g, ''));
0
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 3
01.12.2010, 13:02  [ТС] 4
Просто был затык. А вдруг там буквочки? Или еще чего? или запятые, а то и несколько? А если вместе с точками? А какие из них (точек или запятых) считать последними? Вот и получилось громоздко. Но спасибо за ответ.
0
3 / 3 / 6
Регистрация: 20.06.2010
Сообщений: 580
01.12.2010, 13:06 5
Я же написал ПРИМЕРНО. А буквы и тут убираются. Можно деделать. Хотел просто показать что можно и без цикла все сделать.
0
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 3
01.12.2010, 13:16  [ТС] 6
Спасибо.
Хорошо знать регулярные
0
01.12.2010, 13:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2010, 13:16
Помогаю со студенческими работами здесь

Форма обратной связи, проверка на правильность заполнения полей
Добрый вечер! Подскажите, как с помощью js сделать проверку на правильность заполнения полей . Если...

Проверка на правильность кода
Моя функция cos(sin(g.^3))-0.7 , e=0.5; , корни . Недавно начал работать в MATLAB, нашел похожий...

проверка кода на правильность
Используя оператор цикла while с условием и постусловием, решить следующие задачу: найти сумму ряда...

Проверка скобок на правильность
Здравствуйте, есть код для определения баланса скобок. Но ситуация когда скобки написано так &quot;)(&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru