下面列出了java.text.NumberFormat#getNumberInstance ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private String formatAsBtcDisplayAmount(long value) {
Locale loc = mContext.getResources().getConfiguration().locale;
NumberFormat nf = NumberFormat.getNumberInstance(loc);
DecimalFormat df = (DecimalFormat) nf;
df.setMaximumFractionDigits(8);
df.setMinimumIntegerDigits(1);
df.setMaximumIntegerDigits(16);
return df.format(value / 1e8);
}
public NumberFormat getNumFormat(int numInts, int numDec){
NumberFormat x = NumberFormat.getNumberInstance();
x.setMaximumFractionDigits(numDec);
x.setMinimumFractionDigits(numDec);
x.setMaximumIntegerDigits(numInts);
x.setMinimumIntegerDigits(numInts);
return x;
}
/**
* Default constructor. Returns a {@link BigDecimalField} with no number,
* minValue and maxValue set, but stepwidth 1 and default
* {@link NumberFormat}.
*/
public BigDecimalField() {
super();
setStyle(null);
getStyleClass().add("big-decimal-field");
number = new SimpleObjectProperty<BigDecimal>(this, "number");
stepwidth = new SimpleObjectProperty<BigDecimal>(this, "stepwidth", BigDecimal.ONE);
maxValue = new SimpleObjectProperty<BigDecimal>(this, "maxValue");
minValue = new SimpleObjectProperty<BigDecimal>(this, "minValue");
format = new SimpleObjectProperty<NumberFormat>(this, "format", NumberFormat.getNumberInstance());
promptText = new SimpleStringProperty(this, "promptText", "");
setFocusTraversable(false);
}
private NumberFormat createDecimalFormat( final boolean fixedSize, final int decimalPlaces, final int precision,
final Locale locale ) {
final NumberFormat format = NumberFormat.getNumberInstance( locale );
format.setGroupingUsed( false );
if ( fixedSize ) {
format.setMinimumFractionDigits( Math.max( 0, precision - decimalPlaces - 1 ) );
} else {
format.setMinimumFractionDigits( precision );
}
return format;
}
/**
* Returns a collection of tick units for integer values.
* Uses a given Locale to create the DecimalFormats.
*
* @param locale the locale to use to represent Numbers.
*
* @return A collection of tick units for integer values.
*
* @see #setStandardTickUnits(TickUnitSource)
*/
public static TickUnitSource createIntegerTickUnits(Locale locale) {
TickUnits units = new TickUnits();
NumberFormat numberFormat = NumberFormat.getNumberInstance(locale);
units.add(new NumberTickUnit(1, numberFormat, 2));
units.add(new NumberTickUnit(2, numberFormat, 2));
units.add(new NumberTickUnit(5, numberFormat, 5));
units.add(new NumberTickUnit(10, numberFormat, 2));
units.add(new NumberTickUnit(20, numberFormat, 2));
units.add(new NumberTickUnit(50, numberFormat, 5));
units.add(new NumberTickUnit(100, numberFormat, 2));
units.add(new NumberTickUnit(200, numberFormat, 2));
units.add(new NumberTickUnit(500, numberFormat, 5));
units.add(new NumberTickUnit(1000, numberFormat, 2));
units.add(new NumberTickUnit(2000, numberFormat, 2));
units.add(new NumberTickUnit(5000, numberFormat, 5));
units.add(new NumberTickUnit(10000, numberFormat, 2));
units.add(new NumberTickUnit(20000, numberFormat, 2));
units.add(new NumberTickUnit(50000, numberFormat, 5));
units.add(new NumberTickUnit(100000, numberFormat, 2));
units.add(new NumberTickUnit(200000, numberFormat, 2));
units.add(new NumberTickUnit(500000, numberFormat, 5));
units.add(new NumberTickUnit(1000000, numberFormat, 2));
units.add(new NumberTickUnit(2000000, numberFormat, 2));
units.add(new NumberTickUnit(5000000, numberFormat, 5));
units.add(new NumberTickUnit(10000000, numberFormat, 2));
units.add(new NumberTickUnit(20000000, numberFormat, 2));
units.add(new NumberTickUnit(50000000, numberFormat, 5));
units.add(new NumberTickUnit(100000000, numberFormat, 2));
units.add(new NumberTickUnit(200000000, numberFormat, 2));
units.add(new NumberTickUnit(500000000, numberFormat, 5));
units.add(new NumberTickUnit(1000000000, numberFormat, 2));
units.add(new NumberTickUnit(2000000000, numberFormat, 2));
units.add(new NumberTickUnit(5000000000.0, numberFormat, 5));
units.add(new NumberTickUnit(10000000000.0, numberFormat, 2));
return units;
}
private Entity toDownloadRow(
SortaJobExecution sortaJobExecution, Entity resultEntity, EntityType downloadEntityType) {
NumberFormat format = NumberFormat.getNumberInstance();
format.setMaximumFractionDigits(2);
Entity inputEntity = resultEntity.getEntity(MatchingTaskContentMetaData.INPUT_TERM);
Entity ontologyTermEntity =
sortaService.getOntologyTermEntity(
resultEntity.getString(MatchingTaskContentMetaData.MATCHED_TERM),
sortaJobExecution.getOntologyIri());
Entity row = new DynamicEntity(downloadEntityType);
inputEntity
.getAttributeNames()
.forEach(
attributeName -> {
if (!attributeName.equalsIgnoreCase(SortaCsvRepository.ALLOWED_IDENTIFIER)) {
row.set(attributeName, inputEntity.get(attributeName));
}
});
if (ontologyTermEntity != null) {
row.set(
OntologyTermMetadata.ONTOLOGY_TERM_NAME,
ontologyTermEntity.getString(OntologyTermMetadata.ONTOLOGY_TERM_NAME));
row.set(
OntologyTermMetadata.ONTOLOGY_TERM_IRI,
ontologyTermEntity.getString(OntologyTermMetadata.ONTOLOGY_TERM_IRI));
}
row.set(
MatchingTaskContentMetaData.VALIDATED,
resultEntity.getBoolean(MatchingTaskContentMetaData.VALIDATED));
row.set(
MatchingTaskContentMetaData.REVIEW,
resultEntity.getBoolean(MatchingTaskContentMetaData.REVIEW));
Double score = resultEntity.getDouble(MatchingTaskContentMetaData.SCORE);
if (score != null) {
row.set(MatchingTaskContentMetaData.SCORE, format.format(score));
}
return row;
}
/**
* Returns a string representing the properties of the
* <CODE>DailyCalendar</CODE>
*
* @return the properteis of the DailyCalendar in a String format
*/
public String toString() {
NumberFormat numberFormatter = NumberFormat.getNumberInstance();
numberFormatter.setMaximumFractionDigits(0);
numberFormatter.setMinimumIntegerDigits(2);
StringBuffer buffer = new StringBuffer();
buffer.append("base calendar: [");
if (getBaseCalendar() != null) {
buffer.append(getBaseCalendar().toString());
} else {
buffer.append("null");
}
buffer.append("], time range: '");
buffer.append(numberFormatter.format(rangeStartingHourOfDay));
buffer.append(":");
buffer.append(numberFormatter.format(rangeStartingMinute));
buffer.append(":");
buffer.append(numberFormatter.format(rangeStartingSecond));
buffer.append(":");
numberFormatter.setMinimumIntegerDigits(3);
buffer.append(numberFormatter.format(rangeStartingMillis));
numberFormatter.setMinimumIntegerDigits(2);
buffer.append(" - ");
buffer.append(numberFormatter.format(rangeEndingHourOfDay));
buffer.append(":");
buffer.append(numberFormatter.format(rangeEndingMinute));
buffer.append(":");
buffer.append(numberFormatter.format(rangeEndingSecond));
buffer.append(":");
numberFormatter.setMinimumIntegerDigits(3);
buffer.append(numberFormatter.format(rangeEndingMillis));
buffer.append("', inverted: " + invertTimeRange + "]");
return buffer.toString();
}
/** @return NumberFormat to use in this formatter */
protected NumberFormat initFormat()
{
final NumberFormat format = NumberFormat.getNumberInstance();
format.setMinimumFractionDigits(precision);
format.setMaximumFractionDigits(precision);
return format;
}
/**
* 获取未批准字数的比例
* @return 如25.00%
*/
public String getNotApprovedWordsRatio(){
float ratio = (float)notApprovedWords / (notApprovedWords + approvedWords);
NumberFormat format = NumberFormat.getNumberInstance();
format.setMaximumFractionDigits(2);
return format.format(ratio * 100) + "%";
}
/**
* Creates a new tool tip generator using default number formatters for the
* x, y and z-values.
*/
public BubbleXYItemLabelGenerator() {
this(DEFAULT_FORMAT_STRING, NumberFormat.getNumberInstance(),
NumberFormat.getNumberInstance(),
NumberFormat.getNumberInstance());
}
private String formatWallClockMins(double wallClockMins) {
NumberFormat fn = NumberFormat.getNumberInstance();
fn.setMaximumFractionDigits(2);
fn.setMinimumFractionDigits(2);
return fn.format(wallClockMins);
}
/**
* Creates a new instance with default attributes.
*/
public StandardCrosshairLabelGenerator() {
this("{0}", NumberFormat.getNumberInstance());
}
/**
* Print the list of histogram as CSV to the given writer.
*
* @param writer the print writer where the histograms are printed
* @param parameters the selector creation parameters
* @param histograms the histograms to print
*/
private static void print(
final PrintStream writer,
final Optimize opt,
final List<Selector<?, ?>> selectors,
final List<?> parameters,
final List<Histogram<Double>> histograms,
final int populationCount,
final int loops
) {
final NumberFormat format = NumberFormat.getNumberInstance(Locale.ENGLISH);
format.setMinimumFractionDigits(15);
format.setMaximumFractionDigits(15);
printt(writer,
"Creating selector distribution: %s",
new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date())
);
printv(writer);
println(writer, "# %-76s#", format("Selector distributions (opt=%s, npop=%d, loops=%d):", opt, populationCount, loops));
for (Selector<?, ?> selector : selectors) {
println(writer, "# %-76s#", format(" - %s", selector));
}
println(writer, "#=============================================================================#");
final String header = parameters.stream()
.map(Objects::toString)
.collect(Collectors.joining(",", "", ""));
writer.println();
writer.println(header);
final double[][] array = histograms.stream()
.map(Histogram::getNormalizedHistogram)
.toArray(double[][]::new);
for (int i = 0; i < array[0].length; ++i) {
for (int j = 0; j < array.length; ++j) {
writer.print(format.format(array[j][i]));
if (j < array.length - 1) {
writer.print(',');
}
}
writer.println();
}
}
public HierarchicalTimingInfoFormatter() {
nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
nf.setMaximumFractionDigits(2);
}
/**
* Creates a tool tip generator using default number formatters.
*/
public StandardXYToolTipGenerator() {
this(DEFAULT_TOOL_TIP_FORMAT, NumberFormat.getNumberInstance(),
NumberFormat.getNumberInstance());
}
public SignificantFormat(final int significantPlaces, final Locale locale)
{
format = NumberFormat.getNumberInstance(locale);
mathContext = new MathContext(significantPlaces, RoundingMode.HALF_UP);
}
/**
* Returns the format used by
* {@link #convertToPresentation(Object, ValueContext)} and
* {@link #convertToModel(Object, ValueContext)}.
*
* @param locale
* The locale to use
* @return A NumberFormat instance
*/
protected NumberFormat getFormat(Locale locale) {
if (locale == null) {
locale = Locale.getDefault();
}
return NumberFormat.getNumberInstance(locale);
}
/**
* Returns a collection of tick units for integer values.
* Uses a given Locale to create the DecimalFormats.
*
* @param locale the locale to use to represent Numbers.
*
* @return A collection of tick units for integer values.
*
* @see #setStandardTickUnits(TickUnitSource)
*/
public static TickUnitSource createIntegerTickUnits(Locale locale) {
NumberFormat numberFormat = NumberFormat.getNumberInstance(locale);
return new NumberTickUnitSource(true, numberFormat);
}
/**
* Creates a new section label generator using the specified label format
* string, and platform default number and percentage formatters.
*
* @param labelFormat the label format (<code>null</code> not permitted).
*/
public StandardPieSectionLabelGenerator(String labelFormat) {
this(labelFormat, NumberFormat.getNumberInstance(),
NumberFormat.getPercentInstance());
}
/**
* Creates a new section label generator using the specified label format
* string, and platform default number and percentage formatters.
*
* @param labelFormat the label format (<code>null</code> not permitted).
*/
public StandardPieSectionLabelGenerator(String labelFormat) {
this(labelFormat, NumberFormat.getNumberInstance(),
NumberFormat.getPercentInstance());
}