blob: b962e1a17c8c0feab00b258d1b9349a27d1fd8ae [file] [log] [blame]
/*=============================================================================#
# Copyright (c) 2012, 2021 Original NatTable authors and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0.
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
# Original NatTable authors and others - initial API and implementation
#=============================================================================*/
package org.eclipse.statet.ecommons.waltable.data.convert;
public class PercentageDisplayConverter extends DisplayConverter {
@Override
public Object canonicalToDisplayValue(final Object canonicalValue) {
if (canonicalValue != null) {
final double percentageValue= ((Double) canonicalValue).doubleValue();
final int displayInt= (int) (percentageValue * 100);
return String.valueOf(displayInt) + "%"; //$NON-NLS-1$
}
return ""; //$NON-NLS-1$
}
@Override
public Object displayToCanonicalValue(final Object displayValue) {
String displayString= (String) displayValue;
displayString= displayString.trim();
if (displayString.endsWith("%")) { //$NON-NLS-1$
displayString= displayString.substring(0, displayString.length() - 1);
}
displayString= displayString.trim();
final int displayInt= Integer.valueOf(displayString).intValue();
final double percentageValue= (double) displayInt / 100;
return Double.valueOf(percentageValue);
}
}