Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Округление числа с двумя запятыми (http://www.flasher.ru/forum/showthread.php?t=173802)

ded100let 11.01.2012 21:53

Округление числа с двумя запятыми
 
привет всем. Нужно выводить числа в виде 00.000.00. Тоесть 1 - это 00.000.01, а 100 это уже 00.001.00 и так далее. Кто подскажет как быть, где искать?

Добавлено через 1 минуту
можно ли решить это стандартными методами или нужно танцевать с бубном?

goodguy 11.01.2012 21:57

Цитата:

можно ли решить это стандартными методами
Нельзя. Прийдется изобретать свое. Но никаких танцев с бубном я тут не вижу. Задача довольно простая
я недавно писал нечто подобное
Код AS3:

public static function formatToString(number:int, length:int):String {
        var string:String = "";
        var numberLength:int = String(number).length;
 
        if (numberLength >= length) length = numberLength;
        for (var i:int = 0; i < length; i++) string += "0";
 
        var endIndex:int        = length - numberLength;
        string = string.substring(0, endIndex);
        string += String(number);
 
        return string;
}

Передаем нужное число и необходимую длину, а метод возвращает строку.
Если передать 100 и длину 5, то вернет 00100
думаю добавить сюда еще и точки, особого труда не составит

GBee 11.01.2012 23:00

Код AS3:

import flash.globalization.NumberFormatter;
 
public static function formatToString(number:int):String
{
    var nf:NumberFormatter = new NumberFormatter("en_US");
    nf.groupingPattern = "2;3;2";
    nf.groupingSeparator = ".";
    nf.trailingZeros = false;
    var num:int = number + 10000000;
    var str:String = nf.formatNumber(num);
    return str.substr(2);
}

;о)

Wolsh 11.01.2012 23:45

Кибадачи от iNilsa:
Код AS3:

var num:uint = 1000;
var st:String = "000000" + num;
var s:String = st.substr(-7, 2) + "." + st.substr(-5, 3) + "." + st.substr(-2, 2)
trace(s);


GBee 12.01.2012 00:05

Цитата:

Кибадачи от iNilsa:
flawless victory :cool:


PS Где кнопка "запомнить ответ"?

Zebestov 12.01.2012 00:59

Цитата:

Сообщение от Wolsh (Сообщение 1056233)
Кибадачи от iNilsa

или так:
Код AS3:

var num:uint = 1000;
var st:String = "000000" + num;
var s:String = st.replace(/(\d*)(\d{2})(\d{3})(\d{2})/, "$2.$3.$4");
trace(s);

:)

ded100let 12.01.2012 00:59

спасибо всем, помогли!!!!

GBee 12.01.2012 02:12

Цитата:

Сообщение от Zebestov (Сообщение 1056245)
или так:
Код AS3:

var num:uint = 1000;
var st:String = "000000" + num;
var s:String = st.replace(/(\d*)(\d{2})(\d{3})(\d{2})/, "$2.$3.$4");
trace(s);

:)

http://gskinner.com/RegExr/ здесь не проходит, а было бы неплохо.

Zebestov 12.01.2012 02:15

Хм... ничего не понял.

GBee 12.01.2012 02:40

регексп не работает, или это не регексп? :о/


Часовой пояс GMT +4, время: 00:58.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.