Вычисление процентной разницы между двумя значениями

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

User.class POJO

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

@Data
public class User {
    @JsonProperty("user_name")
    private String userName;
    @JsonProperty("pass_word")
    private String passWord;
}

App.class тестируют пример

import java.util.HashMap;
import java.util.Map;

import com.fasterxml.jackson.databind.ObjectMapper;

public class App {
    public static void main(String[] args) {
        Map<String, String> info = new HashMap<>();
        info.put("user_name", "Q10Viking");
        info.put("pass_word", "123456");

        ObjectMapper mapper = new ObjectMapper();
        User user = mapper.convertValue(info, User.class);

        System.out.println("-------------------------------");
        System.out.println(user);
    }
}
/**output
-------------------------------
User(userName=Q10Viking, passWord=123456)
 */
5
задан easwee 6 January 2015 в 08:46
поделиться

5 ответов

Что делать в этой ситуации, субъективно и, вероятно, зависит от потребностей вашего бизнеса.

Я бы предпочел «Недоступно», если нет другого выбора.

100% может иметь смысл.

Возможно, использование 1 вместо нуля также может иметь смысл, что приведет к 2560% в вашем примере.

5
ответ дан 18 December 2019 в 09:08
поделиться

Вы произвольно устанавливаете% change на X, где X - разумное значение по умолчанию для вашего проблемного пространства. Однако это не совсем вопрос программирования. Вопрос в том, чего вы ожидаете. Что должно произойти, когда любое число приближается к нулю, зависит от проблемного пространства. Например, однажды я работал над бухгалтерской «функцией». В этой функции не было ничего особенного, она просто переводила метод оценки в код. Проблема заключалась в методе подсчета очков и в том, что никто никогда не определял значения по умолчанию, поскольку некоторые знаменатели обнулялись. Для любой заданной учетной оценки то, что произошло с нулевым баллом, может быть полным баллом, частичным баллом или 0 баллом (по шкале оценок), в зависимости от деталей того, что измерялось.

Определите, что вы измеряете, и замените разумным значением по умолчанию за ноль. Если вы измеряете производительность, убедитесь, что кто-то не может играть с системой, намеренно имея 0 долларов за недели, за которыми следуют недели с высокими долларами (например).

или 0 баллов (по шкале оценок) в зависимости от деталей того, что измерялось.

Определите, что вы измеряете, и замените ноль разумным значением по умолчанию. Если вы измеряете производительность, убедитесь, что кто-то не может играть с системой, намеренно имея 0 долларов за недели, за которыми следуют недели с высоким доходом (например).

или 0 баллов (по шкале оценок) в зависимости от деталей того, что измерялось.

Определите, что вы измеряете, и замените ноль разумным значением по умолчанию. Если вы измеряете производительность, убедитесь, что кто-то не может играть с системой, намеренно имея 0 долларов за недели, за которыми следуют недели с высоким доходом (например).

3
ответ дан 18 December 2019 в 09:08
поделиться

Я помню, как мои инструкторы называли это «неопределенным», а не бесконечностью.

Из википедии :

Деление любого числа на ноль (где делитель равен ноль) не определено. Это связано с тем, что ноль, добавленный к нулю, независимо от того, сколько раз повторяется уравнение, всегда будет давать нулевую сумму. Ввод такого уравнения в большинство калькуляторов приведет к выдаче сообщения об ошибке.

1
ответ дан 18 December 2019 в 09:08
поделиться

Я бы сохранил либо NaN, либо бесконечность, либо любое другое значение, имеющее смысл, но при отображении для пользователя я бы оставил процент пустым или каким-то образом указывал, что тогда процент не имеет смысла.

1
ответ дан 18 December 2019 в 09:08
поделиться

Хотя технически ответ либо неопределен (в случае $ 0 / $ 0), либо бесконечность / бесконечность (во всех остальных случаях), человеку не понравится ни один из ответов. Я бы отобразил что-то вроде "или что-то подобное", если бы не смог узнать от пользователей, что лучше всего здесь сделать.

0
ответ дан 18 December 2019 в 09:08
поделиться
Другие вопросы по тегам:

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