use pnc_engine::Value;
use pnc_engine::persist::DisplayMode;
pub fn format_value(value: &Value, mode: DisplayMode, precision: u8) -> String {
match mode {
DisplayMode::Auto => value.to_string(),
DisplayMode::Fix => format_fix(value, precision),
DisplayMode::Sci => format_sci(value, precision),
DisplayMode::Eng => format_eng(value, precision),
}
}
fn format_fix(value: &Value, _precision: u8) -> String {
value.to_string()
}
fn format_sci(value: &Value, _precision: u8) -> String {
value.to_string()
}
fn format_eng(value: &Value, _precision: u8) -> String {
value.to_string()
}
pub fn precision_for(settings: &pnc_engine::persist::Settings, mode: DisplayMode) -> u8 {
match mode {
DisplayMode::Auto => 0,
DisplayMode::Fix => settings.fix_decimals,
DisplayMode::Sci => settings.sci_digits,
DisplayMode::Eng => settings.eng_digits,
}
}