Updated code for csv

This commit is contained in:
rajesh
2025-07-02 19:11:07 +05:30
parent b4831ce348
commit e4cd66247e
4 changed files with 75 additions and 19 deletions

View File

@@ -6,9 +6,7 @@ import java.lang.reflect.Type;
import java.nio.charset.StandardCharsets;
import java.security.SecureRandom;
import java.sql.Timestamp;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.text.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
@@ -1063,6 +1061,37 @@ public class Utils {
ServletRequestAttributes attributes = new ServletRequestAttributes(mockRequest);
RequestContextHolder.setRequestAttributes(attributes, true);
}
public static String convertToItalianFormatWithOnlyDecimalValue(String amount) {
try {
// Step 1: Sanitize and standardize the input
String sanitizedAmount = amount.trim();
// Remove thousand separators (either . or , depending on input style)
sanitizedAmount = sanitizedAmount.replace(",", "").replace(" ", "");
// Step 2: Ensure it uses '.' as decimal separator for parsing
if (sanitizedAmount.contains(".")) {
// It already uses dot as decimal separator
} else if (sanitizedAmount.contains(",")) {
// If input uses comma as decimal separator (like "1234,56")
sanitizedAmount = sanitizedAmount.replace(",", ".");
}
// Step 3: Parse to double
double parsedAmount = Double.parseDouble(sanitizedAmount);
// Step 4: Format without thousand separator and with comma as decimal
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator(',');
DecimalFormat italianDecimalFormat = new DecimalFormat("0.00", symbols);
italianDecimalFormat.setGroupingUsed(false); // no thousand separator
return italianDecimalFormat.format(parsedAmount);
} catch (NumberFormatException e) {
return "Invalid amount format";
}
}
}