Read-Only Display Features

This feature provides pre-formatted representations of the numeric value in various notations, allowing developers to display data in multiple human-friendly formats without additional formatting.

Overview

The Read-Only Display Features of the SiticoneHumanizerFloat control include several properties that automatically format the numeric value into different representations. These properties include standard humanized text, scientific, engineering, binary, hexadecimal, ordinal, percentage, currency, compact notations, and the absolute value representation. They are computed based on the current configuration of formatting, validation, and localization properties, offering a variety of display options for developers to easily integrate into their .NET WinForms applications.


Key Points

Item
Description

Humanized

Provides a human-readable string representation of the numeric value based on the current formatting settings.

ScientificNotation

Displays the numeric value in scientific (exponential) notation (e.g., 1.23E+4).

EngineeringNotation

Formats the number using engineering notation where the exponent is a multiple of three (e.g., 1.23E+3).

BinaryNotation

Converts and displays the numeric value as a binary memory size (e.g., B, KB, MB, GB, TB).

HexadecimalNotation

Returns the hexadecimal representation of the numeric value, prefixed with "0x".

OrdinalNotation

Displays the numeric value as an ordinal (e.g., 1st, 2nd, 3rd); note that the value must be a whole number.

PercentageNotation

Formats the numeric value as a percentage, scaling the value by 100 and appending a "%" symbol.

CurrencyNotation

Returns the value formatted as currency if UseCurrencyFormat is enabled; otherwise, it defaults to standard formatting.

CompactNotation

Provides a compact representation of the numeric value using suffixes (e.g., K for thousands, M for millions).

AbsoluteValue

Displays the humanized representation of the absolute (non-negative) value of the numeric input.


Best Practices

Aspect
Recommendation

Consistent Formatting Configuration

Ensure that overall formatting settings (e.g., Notation, MaxDecimalPlaces, UseThousandsSeparator) are appropriately configured to get the desired output in each display property.

Choose the Right Notation

Utilize the property that best matches your display needs; for example, use ScientificNotation for very large or very small numbers and CompactNotation for dashboards.

Validate Data Before Display

Ensure that the numeric value meets validation criteria so that the read-only properties reflect accurate and expected data.


Common Pitfalls

Issue
Description
Resolution

Inappropriate Notation Selection

The default Humanized property might not always reflect the most user-friendly format for specific data contexts.

Choose a specific notation property (such as ScientificNotation or CompactNotation) based on the use case requirements.

Ordinal Formatting Exceptions

Attempting to display an ordinal notation for non-whole numbers will result in an exception.

Ensure that the value is a whole number before accessing the OrdinalNotation property.

Mismatch Between Formatting and Localization

Inconsistent Culture, DecimalSeparator, or ThousandsSeparator settings can affect the output across different read-only displays.

Align localization properties with overall formatting settings to maintain consistency across display formats.


Usage Scenarios

Scenario
Description

Dashboard Displays

Utilize CompactNotation and Humanized properties to quickly render large numbers in a concise, readable format.

Scientific Applications

Use ScientificNotation or EngineeringNotation for precise and standardized display of numerical data.

Financial Reporting

Leverage CurrencyNotation and PercentageNotation for displaying financial data in a clear and consistent manner.

Code Example: Displaying Multiple Formats

// Create an instance of the humanizer control
var humanizer = new SiticoneHumanizerFloat();

// Configure general formatting settings
humanizer.MaxDecimalPlaces = 4;
humanizer.Notation = SiticoneHumanizerFloat.NotationStyle.Standard;
humanizer.UseThousandsSeparator = true;
humanizer.TrimTrailingZeros = true;

// Assign a sample value
humanizer.Value = 9876543.21;

// Display various read-only representations
Console.WriteLine("Humanized: " + humanizer.Humanized);
Console.WriteLine("Scientific Notation: " + humanizer.ScientificNotation);
Console.WriteLine("Engineering Notation: " + humanizer.EngineeringNotation);
Console.WriteLine("Binary Notation: " + humanizer.BinaryNotation);
Console.WriteLine("Hexadecimal Notation: " + humanizer.HexadecimalNotation);
Console.WriteLine("Percentage Notation: " + humanizer.PercentageNotation);
Console.WriteLine("Compact Notation: " + humanizer.CompactNotation);
Console.WriteLine("Absolute Value: " + humanizer.AbsoluteValue);

Real Life Usage Scenarios

Scenario
Description

Multi-format Data Displays

In a financial dashboard, show a number in both CurrencyNotation and PercentageNotation for a comprehensive view of data trends.

Scientific Instrument Panels

Display sensor readings in both ScientificNotation and EngineeringNotation to accommodate various analytical needs.

User-Facing Reporting Tools

Provide users with multiple display options (e.g., Humanized, OrdinalNotation) for interpreting numerical reports more intuitively.

Code Example: User-Facing Reporting

// Example: Configuring different displays for a report
var reportHumanizer = new SiticoneHumanizerFloat
{
    MaxDecimalPlaces = 3,
    UseThousandsSeparator = true,
    TrimTrailingZeros = true
};

// Set the value to represent a ranking (ordinal)
reportHumanizer.Value = 21; // Should display as "21st" if using OrdinalNotation
try
{
    Console.WriteLine("Ordinal Notation: " + reportHumanizer.OrdinalNotation);
}
catch (ArgumentException ex)
{
    Console.WriteLine("Error: " + ex.Message);
}

// Set a new value for percentage display
reportHumanizer.Value = 0.875;
Console.WriteLine("Percentage Notation: " + reportHumanizer.PercentageNotation);

Troubleshooting Tips

Issue
Possible Cause
Suggested Action

Exception in OrdinalNotation

The numeric value is not a whole number.

Ensure that the value is a whole number before accessing the OrdinalNotation property.

Inconsistent Formatting Across Notations

Divergence between formatting settings (e.g., custom formats, culture) and read-only display properties.

Double-check that all global formatting, localization, and rounding properties are correctly configured.

Unexpected Numeric Representations

Misinterpretation of the notation style may lead to confusion regarding the displayed value.

Review the specific read-only property and adjust the Notation property if a different representation is desired.


Review

Aspect
Review Notes

Flexibility

Provides a variety of pre-formatted numeric representations suitable for multiple display contexts.

Ease of Integration

Read-only properties can be directly bound to UI elements, simplifying the process of updating displays.

Potential Issues

Developers must ensure consistency in configuration across formatting, validation, and localization to avoid discrepancies.

Extensibility

The broad range of notations supports diverse application needs, from scientific measurements to financial reporting.


Summary

Summary Point
Description

Multi-format Display Options

Offers a suite of properties to represent numeric values in various formats (e.g., scientific, engineering, currency).

Simplified Integration

Read-only display features are designed to be easily integrated into .NET WinForms applications without additional formatting logic.

Consistency Across Applications

Ensures that numeric values are displayed consistently based on global settings for formatting and localization.

Enhances User Experience

Provides users with clear, easily interpretable representations of complex numeric data.


Additional Considerations

Consideration
Description

UI Data Binding

Consider binding these read-only properties to UI controls (like labels or text boxes) for dynamic data presentation.

Regular Configuration Review

Periodically review formatting and localization settings to ensure they meet the evolving needs of your application.

Extensive Testing

Test across multiple scenarios and data sets to confirm that the read-only display properties produce the expected output.

Code Example: UI Data Binding Example

// Example: Binding read-only properties to UI elements in a WinForms application
public partial class MainForm : Form
{
    private readonly SiticoneHumanizerFloat humanizer;

    public MainForm()
    {
        InitializeComponent();
        humanizer = new SiticoneHumanizerFloat
        {
            MaxDecimalPlaces = 3,
            UseThousandsSeparator = true,
            TrimTrailingZeros = true,
            Value = 1234567.89
        };

        // Assuming you have labels on your form named lblHumanized, lblScientific, lblCompact
        lblHumanized.Text = humanizer.Humanized;
        lblScientific.Text = humanizer.ScientificNotation;
        lblCompact.Text = humanizer.CompactNotation;
    }
}

By leveraging the Read-Only Display Features of the SiticoneHumanizerFloat control, developers can effortlessly present numerical data in various human-friendly formats. This enhances both the visual appeal and the interpretability of complex numbers in diverse application scenarios.

Last updated