# How to make the division of 2 ints produce a float instead of another int?

In another Bruce Eckels exercise in calculating velocity, `v = s / t` where s and t are integers. How do I make it so the division cranks out a float?

``````class CalcV {
float v;
float calcV(int s, int t) {
v = s / t;
return v;
} //end calcV
}

public class PassObject {

public static void main (String[] args ) {
int distance;
distance = 4;

int t;
t = 3;

float outV;

CalcV v = new CalcV();
outV = v.calcV(distance, t);

System.out.println("velocity : " + outV);
} //end main
}//end class
``````

50

Just cast one of the two operands to a float first.

``````v = (float)s / t;
``````

The cast has higher precedence than the division, so happens before the division.

The other operand will be effectively automatically cast to a float by the compiler because the rules say that if either operand is of floating point type then the operation will be a floating point operation, even if the other operand is integral. Java Language Specification, §4.2.4 and §15.17

Tuesday, June 1, 2021

35

Have you tried ReflectionToStringBuilder? It looks like is should do what you describe.

Thursday, July 22, 2021

17

While it hasn't been resolved yet, there is a possible workaround, based on:

So here are the steps to solve it:

• Install NetBeans 10 and JDK 11.0.2.

• Clone the HelloFX sample for NetBeans and Maven, from the OpenJFX samples.

• Update the JavaFX dependencies to 11.0.2.

``````<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>11.0.2</version>
</dependency>
``````
• Run it:

``````mvn clean compile exec:java
``````
• Check that the JavaFX dependencies have been downloaded to your local `m2` repository. Under `<user home>/.m2/repository/org/openjfx/javafx-base/11.0.2` for instance you will find `javafx-base-11.0.2.jar` and `javafx-base-mac-11.0.2.jar` (or `win`, or `linux` based on your platform).

• Back on NetBeans, right click in the Dependencies folder and select `Download Sources` (see the task progress in the bottom right taskbar), and then `Download Javadoc`(see the task progress).

• Go to your `m2` repository and verify that there are now `-source` and `-javadoc` jar files.

However, this won't solve the issue yet, there is an extra step:

• In your `m2` repository, manually rename the `-source` and `-javadoc` jar files using your platform classifier, to `-mac-source` and `-mac-javadoc` (or `win`, or `linux` based on your platform). Do this for the different JavaFX modules:

Back to NetBeans, check that now you have JavaDoc, or if you press Ctrl/CMD+Click you can access the source.

Note that this fix has to be done only once, the rest of your Maven projects should pick JavaDoc and Sources.

Thursday, August 5, 2021

86

Basically, there is nothing wrong with the calculated columns, and both Alexis and StelioK formulas are correct.

The root problem here is a confusion between calculated columns and measures. You are looking at the results in a conceptually wrong way - through the matrix visual, with several filters active on slicers. If you remove the filters, you will see that the total amount is 140,920, not 82,826. The latter number is the total for the filtered data set, not the entire table.

To get this right, you need to understand several fundamental concepts behind Power BI:

• Calculated columns are always static. Once a calculation is completed, it can not respond to slicers or other UI controls. It's just static data, identical to data in non-calculated columns. DAX formulas used to calculate columns are active only when you create them, or upon data reload.
• If you want your calculations to respond to slicers etc, they must be measures. It's the only way, no exceptions.
• Avoid calculated columns, they are utterly useless. Power BI is all about measures; I can't think of a single reason for using calculated columns. When you add a column, you are essentially enhancing your source data, because you feel like you are missing something you need for your report. But that need can be much better addressed at the source (database or file you import), or using Power Query, which is designed exactly for this kind of tasks. The best practice is: build your columns at the source, for everything else design measures.
• Another important advice: never drop fields (columns) into visuals directly. Always write a DAX measure, and then use it. Relying on Power BI auto-aggregations is a very bad practice.
Saturday, August 21, 2021

68

if you are going to step down, then change your project's source to 1.7 as well,

``````right click on your Project -> Properties -> Sources window
``````

and set `1.7` here

note: however I would suggest you to figure out why it doesn't work on 1.8

Saturday, September 4, 2021