Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#254 set locale for String.format of decimal numbers #261

Merged
merged 1 commit into from
Jan 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,7 @@ class GridCutterService {
res = res * 2
}
if (res != Double.parseDouble(resolution)) {
resolution = String.format("%f", res)
resolution = String.format(Locale.US, "%f", res)
}

//get mask and adjust extents for filter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class TabulationService {
String value = null
if (func == "area") {
//sq km
value = String.format("%.1f", t.getArea())
value = String.format(Locale.US, "%.1f", t.getArea())
} else if (func == "occurrences") {
value = String.valueOf(t.getOccurrences())
} else if (func == "species") {
Expand Down
6 changes: 3 additions & 3 deletions src/main/groovy/au/org/ala/spatial/Util.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -254,11 +254,11 @@ class Util {
String[] lines = new String[ja.size() + 1]
lines[0] = "SPCODE,SCIENTIFIC_NAME,AUTHORITY_FULL,COMMON_NAME,FAMILY,GENUS_NAME,SPECIFIC_NAME,MIN_DEPTH,MAX_DEPTH,METADATA_URL,LSID,AREA_NAME,AREA_SQ_KM"
ja.eachWithIndex {Distributions it, int idx ->
String intersectArea = String.format("%.2f", Math.round(it.intersectArea ?: 0) as Double / 1000000.0)
String intersectArea = String.format(Locale.US, "%.2f", Math.round(it.intersectArea ?: 0) as Double / 1000000.0)

lines[idx + 1] = it.spcode + "," + wrap(it.scientific) + "," + wrap(it.authority_) + "," + wrap(it.common_nam) + "," +
wrap(it.family) + "," + wrap(it.genus_name) + "," + wrap(it.specific_n) + "," + (it.min_depth ?: "") + "," + (it.max_depth ?: "") +
"," + wrap(it.metadata_u) + "," + wrap(it.lsid) + "," + wrap(it.area_name) + "," + String.format("%.2f", (it.area_km ?: 0) as Double) +
"," + wrap(it.metadata_u) + "," + wrap(it.lsid) + "," + wrap(it.area_name) + "," + String.format(Locale.US, "%.2f", (it.area_km ?: 0) as Double) +
"," + wrap(it.data_resource_uid) + "," + intersectArea
}

Expand All @@ -278,7 +278,7 @@ class Util {
String key = wrap(it.family) + "," + wrap(it.scientific) + "," + wrap(it.common_nam) + "," + wrap(it.lsid)

String areaName = it.area_name
String intersectArea = String.format("%.2f", Math.round(it.intersectArea ?: 0) as Double / 1000000)
String intersectArea = String.format(Locale.US, "%.2f", Math.round(it.intersectArea ?: 0) as Double / 1000000)

if (areaName.toLowerCase().contains("likely")) likely.put(key, intersectArea)
if (areaName.toLowerCase().contains("maybe")) maybe.put(key, intersectArea)
Expand Down
8 changes: 4 additions & 4 deletions src/main/groovy/au/org/ala/spatial/intersect/Grid.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -1087,10 +1087,10 @@ class Grid { // implements Serializable
fw.append("\r\n").append("Mapunits=DEGREES")
fw.append("\r\n").append("Columns=").append(String.valueOf(ncols))
fw.append("\r\n").append("Rows=").append(String.valueOf(nrows))
fw.append("\r\n").append("MinX=").append(String.format("%.2f", xmin))
fw.append("\r\n").append("MaxX=").append(String.format("%.2f", xmax))
fw.append("\r\n").append("MinY=").append(String.format("%.2f", ymin))
fw.append("\r\n").append("MaxY=").append(String.format("%.2f", ymax))
fw.append("\r\n").append("MinX=").append(String.format(Locale.US, "%.2f", xmin))
fw.append("\r\n").append("MaxX=").append(String.format(Locale.US, "%.2f", xmax))
fw.append("\r\n").append("MinY=").append(String.format(Locale.US, "%.2f", ymin))
fw.append("\r\n").append("MaxY=").append(String.format(Locale.US, "%.2f", ymax))
fw.append("\r\n").append("ResolutionX=").append(String.valueOf(xres))
fw.append("\r\n").append("ResolutionY=").append(String.valueOf(yres))
fw.append("\r\n").append("[Data]")
Expand Down
12 changes: 6 additions & 6 deletions src/main/groovy/au/org/ala/spatial/process/AooEoo.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -153,10 +153,10 @@ class AooEoo extends SlaveProcess {
'<table >' +
'<tr><td>Number of records used for the calculations</td><td>' + occurrenceCount + "</td></tr>" +
'<tr><td>Species</td><td>' + species.name + '</td></tr>' +
"<tr><td>Area of Occupancy (AOO: ${gridSize} degree grid)</td><td>" + String.format('%.0f', aoo) + ' sq km</td></tr>' +
'<tr><td>Area of Occupancy (Points with radius: ' + String.format("%.0f", radius) + 'm)</td><td>' + String.format('%.0f', circleArea) + ' sq km</td></tr>' +
'<tr><td>Extent of Occurrence (EOO: Minimum convex hull)</td><td>' + (String.format('%.0f', eoo)) + ' sq km</td></tr>' +
((alphaHull != null) ? "<tr><td>Alpha Hull (Alpha: ${alpha})</td><td>" + String.format('%.0f', alphaHull) + ' sq km</td></tr>' : "") +
"<tr><td>Area of Occupancy (AOO: ${gridSize} degree grid)</td><td>" + String.format(Locale.US, '%.0f', aoo) + ' sq km</td></tr>' +
'<tr><td>Area of Occupancy (Points with radius: ' + String.format(Locale.US, "%.0f", radius) + 'm)</td><td>' + String.format(Locale.US, '%.0f', circleArea) + ' sq km</td></tr>' +
'<tr><td>Extent of Occurrence (EOO: Minimum convex hull)</td><td>' + (String.format(Locale.US, '%.0f', eoo)) + ' sq km</td></tr>' +
((alphaHull != null) ? "<tr><td>Alpha Hull (Alpha: ${alpha})</td><td>" + String.format(Locale.US, '%.0f', alphaHull) + ' sq km</td></tr>' : "") +
'</table></body></html>' +
'</div>'

Expand Down Expand Up @@ -216,7 +216,7 @@ class AooEoo extends SlaveProcess {
try {
//point=latitude,longitude
String[] ll = point.replace('\"', '').split(',')
String s = String.format('POINT(%.6f %.6f)', Double.parseDouble(ll[1]), Double.parseDouble(ll[0]))
String s = String.format(Locale.US, 'POINT(%.6f %.6f)', Double.parseDouble(ll[1]), Double.parseDouble(ll[0]))
if (pointCount > 0) {
sb.append(',')
}
Expand Down Expand Up @@ -277,7 +277,7 @@ class AooEoo extends SlaveProcess {
float x = (float) point.x
float y = (float) point.y

String s = String.format('((%.6f %.6f,%.6f %.6f,%.6f %.6f,%.6f %.6f,%.6f %.6f))',
String s = String.format(Locale.US, '((%.6f %.6f,%.6f %.6f,%.6f %.6f,%.6f %.6f,%.6f %.6f))',
x, y,
x, y + gridsize,
x + gridsize, y + gridsize,
Expand Down
4 changes: 2 additions & 2 deletions src/main/groovy/au/org/ala/spatial/util/AreaReportPDF.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -745,9 +745,9 @@ class AreaReportPDF {

sb.append(StringEscapeUtils.escapeCsv(it.name1))
sb.append(",")
sb.append(String.format("%.2f", it.area / 1000000.0))
sb.append(String.format(Locale.US, "%.2f", it.area / 1000000.0))
sb.append(",")
sb.append(String.format("%.2f", it.area / 1000000.0 / totalArea * 100))
sb.append(String.format(Locale.US, "%.2f", it.area / 1000000.0 / totalArea * 100))
row++
}
}
Expand Down