Отображение валюты в индийском формате нумерации

"делегат + = метод" является оператором для многоадресного делегата для объединения метода для делегирования. В другом ручном "делегате - = метод" является оператором для удаления метода от делегата. Это полезно для Действия.

Action action = Method1;
action += Method2;
action += Method3;
action -= Method2;
action();

В этом случае, только Method1 и Method3 будут работать, Method2 не будет работать, потому что Вы удаляете метод, прежде чем вызовут делегата.

при использовании многоадресного делегата с Func результатом будет последний метод.

Func<int> func = () => 1;
func += () => 2;
func += () => 3;
int result = func();

В этом случае, результат будет 3, начиная с метода" () =>, 3 дюйма являются последним методом, добавленным к делегату. Так или иначе весь метод назовут.

В Вашем случае, метод "t => t. Сумма < 100" будет эффективным.

, Если Вы хотите объединить предикат, я предлагаю эти дополнительные методы.

public static Func<T, bool> AndAlso<T>(
    this Func<T, bool> predicate1, 
    Func<T, bool> predicate2) 
{
    return arg => predicate1(arg) && predicate2(arg);
}

public static Func<T, bool> OrElse<T>(
    this Func<T, bool> predicate1, 
    Func<T, bool> predicate2) 
{
    return arg => predicate1(arg) || predicate2(arg);
}

Использование

public static Func<Tran, bool> GetPredicate() {
    Func<Tran, bool> predicate = null;
    predicate = t => t.Response == "00";
    predicate = predicate.AndAlso(t => t.Amount < 100);
    return predicate;
}

РЕДАКТИРОВАНИЕ: исправьте название дополнительных методов, как Keith предполагает.

48
задан MaDa 9 November 2012 в 14:19
поделиться

1 ответ

Немного опций, которые я исследовал, как ниже

    import java.text.NumberFormat;
    import java.util.Locale;

    class NumberFormatDemo {

        public static void main(String[] args) {
            Double d = 45124853123456.78941;
            NumberFormat nf = NumberFormat.getInstance(Locale.ITALY);
            System.out.println("ITALY representation of " + d + " : " + nf.format(d));

            nf = NumberFormat.getInstance(Locale.GERMANY);
            System.out.println("GERMANY representation of " + d + " : " + nf.format(d));

            nf = NumberFormat.getInstance(Locale.CHINESE);
            System.out.println("CHINESE representation of " + d + " : " + nf.format(d));

            nf = NumberFormat.getInstance(Locale.US);
            System.out.println("US representation of " + d + " : " + nf.format(d));

            nf = NumberFormat.getInstance(Locale.ENGLISH);
            System.out.println("ENGLISH representation of " + d + " : " + nf.format(d));

            nf = NumberFormat.getInstance(Locale.UK);
            System.out.println("UK representation of " + d + " : " + nf.format(d));

            //===================================================
            //ICU4j example
            com.ibm.icu.text.NumberFormat format = com.ibm.icu.text.NumberFormat.getCurrencyInstance(new Locale("en", "in"));
            System.out.println("INDIA representation of " + d + " : " + nf.format(d));
        }
    }

, последний повторно получает следующую зависимость

<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>65.1</version>
</dependency>
0
ответ дан 26 November 2019 в 18:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: